aboutsummaryrefslogtreecommitdiff
path: root/docs/doxygen/nel/a05378.html
diff options
context:
space:
mode:
authorneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
committerneodarz <neodarz@neodarz.net>2018-08-11 20:21:34 +0200
commit0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch)
tree2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/a05378.html
downloadnevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz
nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip
Initial commit
Diffstat (limited to '')
-rw-r--r--docs/doxygen/nel/a05378.html15497
1 files changed, 15497 insertions, 0 deletions
diff --git a/docs/doxygen/nel/a05378.html b/docs/doxygen/nel/a05378.html
new file mode 100644
index 00000000..a2b79a4a
--- /dev/null
+++ b/docs/doxygen/nel/a05378.html
@@ -0,0 +1,15497 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
+<title>NeL: NLMISC Namespace Reference</title>
+<link href="doxygen.css" rel="stylesheet" type="text/css">
+</head><body>
+<!-- Generated by Doxygen 1.3.6 -->
+<div class="qindex"> <form class="search" action="search.php" method="get">
+<a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="namespaces.html">Namespace List</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="classes.html">Alphabetical&nbsp;List</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="namespacemembers.html">Namespace&nbsp;Members</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a> | <span class="search"><u>S</u>earch&nbsp;for&nbsp;<input class="search" type="text" name="query" value="" size="20" accesskey="s"/></span></form></div>
+<h1>NLMISC Namespace Reference</h1><hr><a name="_details"></a><h2>Detailed Description</h2>
+This namespace contains all miscellaneous class used by other module.
+<p>
+
+<p>
+<table border=0 cellpadding=0 cellspacing=0>
+<tr><td></td></tr>
+<tr><td colspan=2><br><h2>Data Structures</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02156.html">CAABBox</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02157.html">CAABBoxExt</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02195.html">CAngleAxis</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02215.html">CAsyncFileManager</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02223.html">CAsyncFileManager::CFileLoad</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02224.html">CAsyncFileManager::CMultipleFileLoad</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02225.html">CAsyncFileManager::CSignal</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02226.html">CAsyncFileManager::ICancelCallback</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02243.html">CAutoTimer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02244.html">CAutoTimerInst</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02260.html">CBGRA</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02261.html">CBigFile</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02262.html">CBigFile::BNP</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02263.html">CBigFile::BNPFile</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02264.html">CBigFile::CBNPFileComp</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02265.html">CBigFile::CHandleFile</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02266.html">CBigFile::CThreadFileArray</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02268.html">CBitmap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02269.html">CBitMemStream</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02272.html">CBitSet</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02274.html">CBlockMemory</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02275.html">CBlockMemory::CBlock</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a block. </em> <a href="a02275.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02276.html">CBMSDbgInfo</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02291.html">CBSphere</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02292.html">CBSPNode2v</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02301.html">CBufFIFO</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02332.html">CCategoryMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02341.html">CClassId</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02348.html">CClassRegistry</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02349.html">CClassRegistry::CClassNode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02398.html">CConcavePolygonsVertexDesc</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02401.html">CConfigFile</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02402.html">CConfigFile::CVar</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02419.html">CContiguousBlockAllocator</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02421.html">CCpuInfo___</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02424.html">CDbgPtr</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02425.html">CDbgRefCount</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02451.html">CEidHash</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02189.html">CEntityId</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02454.html">CEntityIdTranslator</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02455.html">CEntityIdTranslator::CEntity</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02460.html">CEvalNumExpr</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02461.html">CEvent</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02465.html">CEventActivate</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02466.html">CEventChar</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02468.html">CEventDestroyWindow</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02469.html">CEventEmitterMulti</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02467.html">CEventKey</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02470.html">CEventKeyDown</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02471.html">CEventKeyUp</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02472.html">CEventListenerAsync</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02473.html">CEventMouse</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02474.html">CEventMouseDblClk</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02475.html">CEventMouseDown</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02476.html">CEventMouseMove</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02477.html">CEventMouseUp</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02478.html">CEventMouseWheel</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02479.html">CEventServer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02480.html">CEventSetFocus</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02509.html">CFairMutex</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02510.html">CFairSynchronized</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02511.html">CFairSynchronized::CAccessor</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02515.html">CFastMem</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02516.html">CFastMutex</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02517.html">CFastMutexMP</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02524.html">CFile</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02525.html">CFileDisplayer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02527.html">CFileEntry</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02533.html">CFixedSizeAllocator</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02534.html">CFixedSizeAllocator::CChunk</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02535.html">CFixedSizeAllocator::CNode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02576.html">CGameDeviceDesc</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Describe a game device. </em> <a href="a02576.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02577.html">CGameDeviceEvent</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02578.html">CGDAxisMoved</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An axis has moved. </em> <a href="a02578.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02579.html">CGDButton</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02580.html">CGDButtonDown</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02581.html">CGDButtonUp</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02582.html">CGDMouseMove</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A raw mouse move message, expressed in mickeys (relative values). </em> <a href="a02582.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02583.html">CGDPOVChanged</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A point of view control changed. </em> <a href="a02583.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02584.html">CGDSliderMoved</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A slider position has changed. </em> <a href="a02584.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02605.html">CHashBySheetId</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02606.html">CHashFunctionUInt64</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02609.html">CHeapAllocator</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02611.html">CHeapAllocator::CCategory</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02613.html">CHeapAllocator::CFreeNode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02615.html">CHeapAllocator::CMainBlock</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02617.html">CHeapAllocator::CMemoryLeakBlock</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02619.html">CHeapAllocator::CNodeBegin</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02621.html">CHeapAllocator::CNodeEnd</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02623.html">CHeapAllocator::CNullNode</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02625.html">CHeapAllocator::CSmallBlockPool</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02627.html">CHeapMemory</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02628.html">CHeapMemory::CEmptySpace</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02640.html">CHTimer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02641.html">CHTimer::CExamStackEntry</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02642.html">CHTimer::CNode</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">a node in an execution path </em> <a href="a02642.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02643.html">CHTimer::CNodeStat</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02644.html">CHTimer::CStats</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02645.html">CHTimer::CStatSorter</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02646.html">CHTimer::CTimerStat</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02647.html">CI18N</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02648.html">CI18N::ILoadProxy</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02653.html">CIFile</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02668.html">CInputDeviceEventLess</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02669.html">CInputDeviceServer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02729.html">CLeak</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02750.html">CLightMemDisplayer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02759.html">CLine</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02762.html">CLineColor</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02763.html">CLineColorUV</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02764.html">CLineUV</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02813.html">CLog</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02814.html">CLog::TDisplayInfo</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02851.html">CMatrix</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02751.html">CMemDisplayer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02271.html">CMemStream</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02940.html">CMouseSmoother</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02941.html">CMouseSmoother::CSample</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02972.html">CMsgBoxDisplayer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02989.html">CNoiseColorGradient</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02990.html">CNoiseValue</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02996.html">CObjectArenaAllocator</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03000.html">CObjectVector</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03001.html">CObjectVector&lt; double, true &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03002.html">CObjectVector&lt; float, true &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03003.html">CObjectVector&lt; sint16, true &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03004.html">CObjectVector&lt; sint32, true &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03005.html">CObjectVector&lt; sint64, true &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03006.html">CObjectVector&lt; sint8, true &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03007.html">CObjectVector&lt; uint16, true &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03008.html">CObjectVector&lt; uint32, true &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03009.html">CObjectVector&lt; uint64, true &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03010.html">CObjectVector&lt; uint8, true &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03011.html">COFile</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03032.html">COXml</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03072.html">CPath</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03073.html">CPath::CFileEntry</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03074.html">CPath::CMCFileComp</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03075.html">CPath::CMCFileEntry</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03082.html">CPlane</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03100.html">CPolygon</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03101.html">CPolygon2D</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03102.html">CPoolMemory</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03265.html">CQuad</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03268.html">CQuadColor</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03269.html">CQuadColorUV</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03270.html">CQuadColorUV2</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03295.html">CQuadUV</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03296.html">CQuat</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03298.html">CQuatD</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03297.html">CQuatT</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03302.html">CRandom</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03303.html">CRandomGrid3D</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A static 3D array of random value + other infos for noise. </em> <a href="a03303.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03318.html">CReaderWriter</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03319.html">CRect</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02209.html">CRefCount</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03320.html">CRefCount::CPtrInfo</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03321.html">CRefPtr</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03337.html">CRGBA</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03338.html">CRGBAF</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03343.html">CRWSynchronized</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03344.html">CRWSynchronized::CReadAccessor</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03345.html">CRWSynchronized::CWriteAccessor</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03364.html">CSerialCommand</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03382.html">CSharedMemory</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03383.html">CSharedMutex</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03384.html">CSheetId</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03385.html">CSheetId::CChar</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">associate sheet id and sheet name </em> <a href="a03385.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03386.html">CSheetId::CCharComp</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>union &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03387.html">CSheetId::TSheetId</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">sheet id </em> <a href="a03387.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03391.html">CSimpleClock</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03397.html">CSingleton</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03408.html">CSmartPtr</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03435.html">CSString</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03437.html">CStaticMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03438.html">CStaticMap::value_compare</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03441.html">CStaticStringMapper</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03442.html">CstCDbgPtr</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03443.html">CStdDisplayer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03444.html">CSTLBlockAllocator</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03445.html">CSTLBlockList</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03446.html">CStopWatch</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03447.html">CStringConversion</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03448.html">CStringConversion::CPair</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03449.html">CStringIdArray</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03450.html">CStringMapper</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03451.html">CStringMapper::CCharComp</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03452.html">CStringStream</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03467.html">CSystemInfo</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02216.html">CTaskManager</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03469.html">CTaskManager::CWaitingTask</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03470.html">CTaskManager::IChangeTaskPriority</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A callback to modify the task priority. </em> <a href="a03470.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03473.html">CTDS</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02142.html">CTime</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03594.html">CTraits</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03595.html">CTraits&lt; bool &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03596.html">CTraits&lt; char &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03597.html">CTraits&lt; CRGBA &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03598.html">CTraits&lt; CVector &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03599.html">CTraits&lt; double &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03600.html">CTraits&lt; float &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03601.html">CTraits&lt; sint &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03602.html">CTraits&lt; sint16 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03603.html">CTraits&lt; sint32 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03604.html">CTraits&lt; sint64 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03605.html">CTraits&lt; sint8 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03606.html">CTraits&lt; uint &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03607.html">CTraits&lt; uint16 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03608.html">CTraits&lt; uint32 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03609.html">CTraits&lt; uint64 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03610.html">CTraits&lt; uint8 &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03611.html">CTraits&lt; unsigned char &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03616.html">CTriangle</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03617.html">CTriangleColor</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03618.html">CTriangleColorUV</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03621.html">CTriangleUV</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03629.html">CUnfairMutex</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03630.html">CUnfairSynchronized</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03631.html">CUnfairSynchronized::CAccessor</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03637.html">CUnsensitiveStrLessPred</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03638.html">CUpdateThread</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03640.html">CUV</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03641.html">CUVW</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03642.html">CValueSmoother</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03643.html">CValueSmootherTemplate</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03644.html">CValueSmootherTemplate&lt; bool &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03646.html">CVariable</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03649.html">CVariable&lt; std::string &gt;</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03650.html">CVariablePtr</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03128.html">CVector</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03659.html">CVector2d</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03660.html">CVector2f</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03664.html">CVectorD</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03668.html">CVectorH</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03670.html">CVectorSString</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03727.html">CWindowDisplayer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03728.html">CWindowDisplayer::CLabelEntry</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03729.html">CWordsDictionary</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03772.html">EAllocationFailure</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03776.html">EBadSize</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03777.html">EBadType</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03779.html">EConfigFile</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03780.html">EDDSBadHeader</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03789.html">EFatalError</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03790.html">EFile</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03791.html">EFileNotFound</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03792.html">EFileNotOpened</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03793.html">EInputDevice</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03794.html">EInvalidDataStream</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03795.html">EMemStream</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a02482.html">Exception</a> class for <a class="el" href="a02271.html">CMemStream</a>. </em> <a href="a03795.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03796.html">EmitterEqualPred</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03797.html">ENewerStream</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03798.html">EOlderStream</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03799.html">EParseError</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03800.html">EPathNotFound</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><a class="el" href="a02482.html">Exception</a> throwed when a find is not found in a lookup() call. </em> <a href="a03800.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03801.html">EReadError</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03802.html">EReallocationFailed</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03803.html">ERegisteredClass</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03804.html">ERegistry</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03805.html">ERenameError</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03807.html">ESeekFailed</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03808.html">ESeekNotSupported</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03781.html">EStream</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03824.html">EStreamOverflow</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This exception is raised when someone tries to serialize in more than there is. </em> <a href="a03824.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03825.html">EThread</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03826.html">ETrapDebug</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03827.html">EUnknownVar</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03828.html">EUnregisteredClass</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03829.html">EWriteError</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02482.html">Exception</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03830.html">EXmlParsingError</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02540.html">IClassable</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03647.html">ICommand</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02526.html">IDisplayer</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03852.html">IEventEmitter</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02464.html">IEventListener</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03854.html">IGameDevice</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03855.html">IInputDevice</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03857.html">IInputDeviceEvent</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03858.html">IInputDeviceManager</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03860.html">IKeyboardDevice</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03867.html">IMouseDevice</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">An interface to a low level mouse device. </em> <a href="a03867.html#_details">More...</a><em><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03872.html">IProcess</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03873.html">IProgressCallback</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03874.html">IProgressCallback::CCropedValues</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02187.html">IRunnable</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02221.html">IRunnablePos</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02270.html">IStream</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a02867.html">IStreamable</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03880.html">IThread</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>class &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03648.html">IVariable</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03898.html">TBMSDbgInfoData</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a03899.html">TBMSSerialInfo</a></td></tr>
+
+<tr><td colspan=2><br><h2>Configuration</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a02516.html">CFastMutex</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a226">CAllocatorMutex</a></td></tr>
+
+<tr><td colspan=2><br><h2>Quaternions functions.</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; <a class="el" href="a03297.html">CQuatT</a>&lt; T &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a404">operator *</a> (T f, const <a class="el" href="a03297.html">CQuatT</a>&lt; T &gt; &amp;o)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">f*quat operator <a href="#a404"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::multimap&lt; <a class="el" href="a02341.html">CClassId</a>,<br>
+ <a class="el" href="a02464.html">IEventListener</a> * &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a46">mapListener</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef void *(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a26">memcpyPtr</a> )(void *dts, const void *<a class="el" href="a04223.html#a652">src</a>, size_t nbytes)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector&lt; <a class="el" href="a03899.html">TBMSSerialInfo</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a40">TBMSSerialInfoList</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::map&lt; float, <a class="el" href="a02398.html">CConcavePolygonsVertexDesc</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a33">TCConcavePolygonsVertexMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a04558.html#a12">sint64</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a241">TCPUCycle</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::string(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a45">TCrashCallback</a> )()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::vector&lt; <a class="el" href="a02576.html">CGameDeviceDesc</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a219">TDeviceDescVect</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef bool(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a34">TEmailFunction</a> )(const std::string &amp;smtpServer, const std::string &amp;<a class="el" href="a04113.html#a70">from</a>, const std::string &amp;to, const std::string &amp;subject, const std::string &amp;body, const std::string &amp;attachedFile="", bool onlyCheck=false)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a239">TGameCycle</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a238">TGameTime</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">New time types. <a href="#a238"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef std::map&lt; std::string,<br>
+ <a class="el" href="a02729.html">CLeak</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a27">TLinkMap</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a240">TLocalTime</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a234">TMsDuration</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef key_t&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a232">TSharedMemId</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a237">TSStringId</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a236">TStringId</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a233">TTickDuration</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a04558.html#a12">sint64</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a243">TTicks</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="a04558.html#a12">sint64</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a242">TTime</a></td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Old time type. <a href="#a242"></a><br><br></td></tr>
+<tr><td colspan=2><br><h2>Enumerations</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a442">TKey</a> { <br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a58">Key0</a> = '0',
+<a class="el" href="a05378.html#a442a59">Key1</a> = '1',
+<a class="el" href="a05378.html#a442a60">Key2</a> = '2',
+<a class="el" href="a05378.html#a442a61">Key3</a> = '3',
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a62">Key4</a> = '4',
+<a class="el" href="a05378.html#a442a63">Key5</a> = '5',
+<a class="el" href="a05378.html#a442a64">Key6</a> = '6',
+<a class="el" href="a05378.html#a442a65">Key7</a> = '7',
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a66">Key8</a> = '8',
+<a class="el" href="a05378.html#a442a67">Key9</a> = '9',
+<a class="el" href="a05378.html#a442a68">KeyA</a> = 'A',
+<a class="el" href="a05378.html#a442a69">KeyB</a> = 'B',
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a70">KeyC</a> = 'C',
+<a class="el" href="a05378.html#a442a71">KeyD</a> = 'D',
+<a class="el" href="a05378.html#a442a72">KeyE</a> = 'E',
+<a class="el" href="a05378.html#a442a73">KeyF</a> = 'F',
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a74">KeyG</a> = 'G',
+<a class="el" href="a05378.html#a442a75">KeyH</a> = 'H',
+<a class="el" href="a05378.html#a442a76">KeyI</a> = 'I',
+<a class="el" href="a05378.html#a442a77">KeyJ</a> = 'J',
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a78">KeyK</a> = 'K',
+<a class="el" href="a05378.html#a442a79">KeyL</a> = 'L',
+<a class="el" href="a05378.html#a442a80">KeyM</a> = 'M',
+<a class="el" href="a05378.html#a442a81">KeyN</a> = 'N',
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a82">KeyO</a> = 'O',
+<a class="el" href="a05378.html#a442a83">KeyP</a> = 'P',
+<a class="el" href="a05378.html#a442a84">KeyQ</a> = 'Q',
+<a class="el" href="a05378.html#a442a85">KeyR</a> = 'R',
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a86">KeyS</a> = 'S',
+<a class="el" href="a05378.html#a442a87">KeyT</a> = 'T',
+<a class="el" href="a05378.html#a442a88">KeyU</a> = 'U',
+<a class="el" href="a05378.html#a442a89">KeyV</a> = 'V',
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a90">KeyW</a> = 'W',
+<a class="el" href="a05378.html#a442a91">KeyX</a> = 'X',
+<a class="el" href="a05378.html#a442a92">KeyY</a> = 'Y',
+<a class="el" href="a05378.html#a442a93">KeyZ</a> = 'Z',
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a94">KeyLBUTTON</a> = 0x01,
+<a class="el" href="a05378.html#a442a95">KeyRBUTTON</a> = 0x02,
+<a class="el" href="a05378.html#a442a96">KeyCANCEL</a> = 0x03,
+<a class="el" href="a05378.html#a442a97">KeyMBUTTON</a> = 0x04,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a98">KeyBACK</a> = 0x08,
+<a class="el" href="a05378.html#a442a99">KeyTAB</a> = 0x09,
+<a class="el" href="a05378.html#a442a100">KeyCLEAR</a> = 0x0C,
+<a class="el" href="a05378.html#a442a101">KeyRETURN</a> = 0x0D,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a102">KeySHIFT</a> = 0x10,
+<a class="el" href="a05378.html#a442a103">KeyCONTROL</a> = 0x11,
+<a class="el" href="a05378.html#a442a104">KeyMENU</a> = 0x12,
+<a class="el" href="a05378.html#a442a105">KeyPAUSE</a> = 0x13,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a106">KeyCAPITAL</a> = 0x14,
+<a class="el" href="a05378.html#a442a107">KeyKANA</a> = 0x15,
+<a class="el" href="a05378.html#a442a108">KeyHANGEUL</a> = 0x15,
+<a class="el" href="a05378.html#a442a109">KeyHANGUL</a> = 0x15,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a110">KeyJUNJA</a> = 0x17,
+<a class="el" href="a05378.html#a442a111">KeyFINAL</a> = 0x18,
+<a class="el" href="a05378.html#a442a112">KeyHANJA</a> = 0x19,
+<a class="el" href="a05378.html#a442a113">KeyKANJI</a> = 0x19,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a114">KeyESCAPE</a> = 0x1B,
+<a class="el" href="a05378.html#a442a115">KeyCONVERT</a> = 0x1C,
+<a class="el" href="a05378.html#a442a116">KeyNONCONVERT</a> = 0x1D,
+<a class="el" href="a05378.html#a442a117">KeyACCEPT</a> = 0x1E,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a118">KeyMODECHANGE</a> = 0x1F,
+<a class="el" href="a05378.html#a442a119">KeySPACE</a> = 0x20,
+<a class="el" href="a05378.html#a442a120">KeyPRIOR</a> = 0x21,
+<a class="el" href="a05378.html#a442a121">KeyNEXT</a> = 0x22,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a122">KeyEND</a> = 0x23,
+<a class="el" href="a05378.html#a442a123">KeyHOME</a> = 0x24,
+<a class="el" href="a05378.html#a442a124">KeyLEFT</a> = 0x25,
+<a class="el" href="a05378.html#a442a125">KeyUP</a> = 0x26,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a126">KeyRIGHT</a> = 0x27,
+<a class="el" href="a05378.html#a442a127">KeyDOWN</a> = 0x28,
+<a class="el" href="a05378.html#a442a128">KeySELECT</a> = 0x29,
+<a class="el" href="a05378.html#a442a129">KeyPRINT</a> = 0x2A,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a130">KeyEXECUTE</a> = 0x2B,
+<a class="el" href="a05378.html#a442a131">KeySNAPSHOT</a> = 0x2C,
+<a class="el" href="a05378.html#a442a132">KeyINSERT</a> = 0x2D,
+<a class="el" href="a05378.html#a442a133">KeyDELETE</a> = 0x2E,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a134">KeyHELP</a> = 0x2F,
+<a class="el" href="a05378.html#a442a135">KeyLWIN</a> = 0x5B,
+<a class="el" href="a05378.html#a442a136">KeyRWIN</a> = 0x5C,
+<a class="el" href="a05378.html#a442a137">KeyAPPS</a> = 0x5D,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a138">KeyNUMPAD0</a> = 0x60,
+<a class="el" href="a05378.html#a442a139">KeyNUMPAD1</a> = 0x61,
+<a class="el" href="a05378.html#a442a140">KeyNUMPAD2</a> = 0x62,
+<a class="el" href="a05378.html#a442a141">KeyNUMPAD3</a> = 0x63,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a142">KeyNUMPAD4</a> = 0x64,
+<a class="el" href="a05378.html#a442a143">KeyNUMPAD5</a> = 0x65,
+<a class="el" href="a05378.html#a442a144">KeyNUMPAD6</a> = 0x66,
+<a class="el" href="a05378.html#a442a145">KeyNUMPAD7</a> = 0x67,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a146">KeyNUMPAD8</a> = 0x68,
+<a class="el" href="a05378.html#a442a147">KeyNUMPAD9</a> = 0x69,
+<a class="el" href="a05378.html#a442a148">KeyMULTIPLY</a> = 0x6A,
+<a class="el" href="a05378.html#a442a149">KeyADD</a> = 0x6B,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a150">KeySEPARATOR</a> = 0x6C,
+<a class="el" href="a05378.html#a442a151">KeySUBTRACT</a> = 0x6D,
+<a class="el" href="a05378.html#a442a152">KeyDECIMAL</a> = 0x6E,
+<a class="el" href="a05378.html#a442a153">KeyDIVIDE</a> = 0x6F,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a154">KeyF1</a> = 0x70,
+<a class="el" href="a05378.html#a442a155">KeyF2</a> = 0x71,
+<a class="el" href="a05378.html#a442a156">KeyF3</a> = 0x72,
+<a class="el" href="a05378.html#a442a157">KeyF4</a> = 0x73,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a158">KeyF5</a> = 0x74,
+<a class="el" href="a05378.html#a442a159">KeyF6</a> = 0x75,
+<a class="el" href="a05378.html#a442a160">KeyF7</a> = 0x76,
+<a class="el" href="a05378.html#a442a161">KeyF8</a> = 0x77,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a162">KeyF9</a> = 0x78,
+<a class="el" href="a05378.html#a442a163">KeyF10</a> = 0x79,
+<a class="el" href="a05378.html#a442a164">KeyF11</a> = 0x7A,
+<a class="el" href="a05378.html#a442a165">KeyF12</a> = 0x7B,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a166">KeyF13</a> = 0x7C,
+<a class="el" href="a05378.html#a442a167">KeyF14</a> = 0x7D,
+<a class="el" href="a05378.html#a442a168">KeyF15</a> = 0x7E,
+<a class="el" href="a05378.html#a442a169">KeyF16</a> = 0x7F,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a170">KeyF17</a> = 0x80,
+<a class="el" href="a05378.html#a442a171">KeyF18</a> = 0x81,
+<a class="el" href="a05378.html#a442a172">KeyF19</a> = 0x82,
+<a class="el" href="a05378.html#a442a173">KeyF20</a> = 0x83,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a174">KeyF21</a> = 0x84,
+<a class="el" href="a05378.html#a442a175">KeyF22</a> = 0x85,
+<a class="el" href="a05378.html#a442a176">KeyF23</a> = 0x86,
+<a class="el" href="a05378.html#a442a177">KeyF24</a> = 0x87,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a178">KeyNUMLOCK</a> = 0x90,
+<a class="el" href="a05378.html#a442a179">KeySCROLL</a> = 0x91,
+<a class="el" href="a05378.html#a442a180">KeyLSHIFT</a> = 0xA0,
+<a class="el" href="a05378.html#a442a181">KeyRSHIFT</a> = 0xA1,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a182">KeyLCONTROL</a> = 0xA2,
+<a class="el" href="a05378.html#a442a183">KeyRCONTROL</a> = 0xA3,
+<a class="el" href="a05378.html#a442a184">KeyLMENU</a> = 0xA4,
+<a class="el" href="a05378.html#a442a185">KeyRMENU</a> = 0xA5,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a186">KeySEMICOLON</a> = 0xBA,
+<a class="el" href="a05378.html#a442a187">KeyEQUALS</a> = 0xBB,
+<a class="el" href="a05378.html#a442a188">KeyCOMMA</a> = 0xBC,
+<a class="el" href="a05378.html#a442a189">KeyDASH</a> = 0xBD,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a190">KeyPERIOD</a> = 0xBE,
+<a class="el" href="a05378.html#a442a191">KeySLASH</a> = 0xBF,
+<a class="el" href="a05378.html#a442a192">KeyTILDE</a> = 0xC0,
+<a class="el" href="a05378.html#a442a193">KeyLBRACKET</a> = 0xDB,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a194">KeyBACKSLASH</a> = 0xDC,
+<a class="el" href="a05378.html#a442a195">KeyRBRACKET</a> = 0xDD,
+<a class="el" href="a05378.html#a442a196">KeyAPOSTROPHE</a> = 0xDE,
+<a class="el" href="a05378.html#a442a197">KeyPROCESSKEY</a> = 0xE5,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a198">KeyATTN</a> = 0xF6,
+<a class="el" href="a05378.html#a442a199">KeyCRSEL</a> = 0xF7,
+<a class="el" href="a05378.html#a442a200">KeyEXSEL</a> = 0xF8,
+<a class="el" href="a05378.html#a442a201">KeyEREOF</a> = 0xF9,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a202">KeyPLAY</a> = 0xFA,
+<a class="el" href="a05378.html#a442a203">KeyZOOM</a> = 0xFB,
+<a class="el" href="a05378.html#a442a204">KeyNONAME</a> = 0xFC,
+<a class="el" href="a05378.html#a442a205">KeyPA1</a> = 0xFD,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a442a206">KeyOEM_CLEAR</a> = 0xFE,
+<a class="el" href="a05378.html#a442a207">KeyCount</a> = 0xFF
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a444">TKeyButton</a> { <a class="el" href="a05378.html#a444a215">noKeyButton</a> = 0x0,
+<a class="el" href="a05378.html#a444a216">ctrlKeyButton</a> = 0x8,
+<a class="el" href="a05378.html#a444a217">shiftKeyButton</a> = 0x10,
+<a class="el" href="a05378.html#a444a218">altKeyButton</a> = 0x20
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a443">TMouseButton</a> { <br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a443a208">noButton</a> = 0x0,
+<a class="el" href="a05378.html#a443a209">leftButton</a> = 0x1,
+<a class="el" href="a05378.html#a443a210">middleButton</a> = 0x2,
+<a class="el" href="a05378.html#a443a211">rightButton</a> = 0x4,
+<br>
+&nbsp;&nbsp;<a class="el" href="a05378.html#a443a212">ctrlButton</a> = 0x8,
+<a class="el" href="a05378.html#a443a213">shiftButton</a> = 0x10,
+<a class="el" href="a05378.html#a443a214">altButton</a> = 0x20
+<br>
+ }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>enum &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a445">TReportResult</a> { <a class="el" href="a05378.html#a445a228">ReportDebug</a>,
+<a class="el" href="a05378.html#a445a229">ReportIgnore</a>,
+<a class="el" href="a05378.html#a445a230">ReportQuit</a>,
+<a class="el" href="a05378.html#a445a231">ReportError</a>
+ }</td></tr>
+
+<tr><td colspan=2><br><h2>Functions</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a356">addSlashR</a> (string str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a358">atoihex</a> (const char *ident)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a12">sint64</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a260">atoiInt64</a> (const char *ident, <a class="el" href="a04558.html#a12">sint64</a> base)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a string into an sint64 (same as atoi() function but for 64 bits intergers). <a href="#a260"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a333">atoui</a> (const char *ident)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a299">beep</a> (<a class="el" href="a04558.html#a15">uint</a> freq, <a class="el" href="a04558.html#a15">uint</a> duration)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a253">blend</a> (<a class="el" href="a04558.html#a11">uint32</a> &amp;n0, <a class="el" href="a04558.html#a11">uint32</a> &amp;n1, <a class="el" href="a04558.html#a11">uint32</a> coef0)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a252">blendFromui</a> (<a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;c0, <a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;c1, <a class="el" href="a04558.html#a15">uint</a> coef)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a336">BuildHermiteVector</a> (const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &amp;P0, const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &amp;P1, const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &amp;T0, const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &amp;T1, <a class="el" href="a03660.html">NLMISC::CVector2f</a> &amp;dest, float lambda)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">build some hermite spline value, with the given points and tangents <a href="#a336"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a266">bytesToHumanReadable</a> (<a class="el" href="a04558.html#a11">uint32</a> bytes)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a265">bytesToHumanReadable</a> (const std::string &amp;bytes)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a number in bytes into a string that is easily readable by an human, for example 105123 -&gt; "102kb". <a href="#a265"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a320">cbInvalidEntityNamesFilename</a> (const std::string &amp;invalidEntityNamesFilename)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a363">cbVarChanged</a> (<a class="el" href="a02402.html">CConfigFile::CVar</a> &amp;cvar)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a297">changeLogDirectory</a> (const std::string &amp;dir)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a327">CHeapAllocatorOutputError</a> (const char *str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T, class U, class V&gt; void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a374">clamp</a> (T &amp;<a class="el" href="a04223.html#a576">v</a>, const U &amp;min, const V &amp;max)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T, class U&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a364">computeBilinear</a> (const T &amp;v0, const T &amp;v1, const T &amp;v2, const T &amp;v3, const U &amp;<a class="el" href="a04223.html#a626">s</a>, const U &amp;<a class="el" href="a04223.html#a627">t</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a381">contReset</a> (T &amp;a)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a344">CopyMoveFile</a> (const char *dest, const char *<a class="el" href="a04223.html#a652">src</a>, bool copyFile, bool failIfExists=false)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a298">createDebug</a> (const char *logPath, bool logInFile)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a382">degToRad</a> (float deg)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a289">DetectMMX</a> (void)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a290">DetectSSE</a> (void)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a251">displayBitStream</a> (const <a class="el" href="a02269.html">CBitMemStream</a> &amp;msg, <a class="el" href="a04558.html#a14">sint</a> beginbitpos, <a class="el" href="a04558.html#a14">sint</a> endbitpos, <a class="el" href="a02813.html">NLMISC::CLog</a> *log)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Display a part of a bitmemstream. <a href="#a251"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a282">displayByteBits</a> (<a class="el" href="a04558.html#a7">uint8</a> b, <a class="el" href="a04558.html#a15">uint</a> nbits, <a class="el" href="a04558.html#a14">sint</a> beginpos, bool displayBegin, <a class="el" href="a02813.html">NLMISC::CLog</a> *log)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Display the bits (with 0 and 1) composing a byte (from right to left). <a href="#a282"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a335">displayCallStack</a> (<a class="el" href="a02813.html">CLog</a> *log)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a283">displayDwordBits</a> (<a class="el" href="a04558.html#a11">uint32</a> b, <a class="el" href="a04558.html#a15">uint</a> nbits, <a class="el" href="a04558.html#a14">sint</a> beginpos, bool displayBegin, <a class="el" href="a02813.html">NLMISC::CLog</a> *log)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Display the bits (with 0 and 1) composing a number (uint32) (from right to left). <a href="#a283"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a249">drawFullLine</a> (float x0, float y0, float x1, float y1, std::vector&lt; std::pair&lt; <a class="el" href="a04558.html#a14">sint</a>, <a class="el" href="a04558.html#a14">sint</a> &gt; &gt; &amp;result)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a365">drawLine</a> (float x0, float y0, float x1, float y1, std::vector&lt; std::pair&lt; <a class="el" href="a04558.html#a14">sint</a>, <a class="el" href="a04558.html#a14">sint</a> &gt; &gt; &amp;result)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a250">drawLine</a> (float x0, float y0, float x1, float y1, vector&lt; pair&lt; <a class="el" href="a04558.html#a14">sint</a>, <a class="el" href="a04558.html#a14">sint</a> &gt; &gt; &amp;result)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a392">enterBreakpoint</a> (const char *message)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a281">explode</a> (const std::string &amp;<a class="el" href="a04223.html#a652">src</a>, const std::string &amp;sep, std::vector&lt; std::string &gt; &amp;<a class="el" href="a04223.html#a643">res</a>, bool skipEmpty)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a368">fastClamp8</a> (<a class="el" href="a04558.html#a14">sint</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05378.html#a26">memcpyPtr</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a326">findBestmemcpy</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a328">fprintf_int</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a658">value</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a371">frand</a> (float mod)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a271">fromHumanReadable</a> (const std::string &amp;str)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get a bytes or time in string format and convert it in seconds or bytes. <a href="#a271"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a434">fromString</a> (const std::string &amp;str, std::string &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a433">fromString</a> (const std::string &amp;str, bool &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a432">fromString</a> (const std::string &amp;str, double &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a431">fromString</a> (const std::string &amp;str, float &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a430">fromString</a> (const std::string &amp;str, <a class="el" href="a04558.html#a12">sint64</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a429">fromString</a> (const std::string &amp;str, <a class="el" href="a04558.html#a13">uint64</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a428">fromString</a> (const std::string &amp;str, <a class="el" href="a04558.html#a8">sint16</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a427">fromString</a> (const std::string &amp;str, <a class="el" href="a04558.html#a9">uint16</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a426">fromString</a> (const std::string &amp;str, <a class="el" href="a04558.html#a6">sint8</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a425">fromString</a> (const std::string &amp;str, <a class="el" href="a04558.html#a7">uint8</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a424">fromString</a> (const std::string &amp;str, <a class="el" href="a04558.html#a10">sint32</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a423">fromString</a> (const std::string &amp;str, <a class="el" href="a04558.html#a11">uint32</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a372">fsgn</a> (double f)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a296">getCallStackAndLog</a> (string &amp;result, <a class="el" href="a04558.html#a14">sint</a> skipNFirst)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the call stack and set it with result. <a href="#a296"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a343">getname</a> (dirent *de)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a263">getPowerOf2</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a257">getThreadId</a> ()</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns Process Id (note: on Linux, Process Id is the same as the Thread Id) Returns Thread Id (note: on Linux, Process Id is the same as the Thread Id). <a href="#a257"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a355">HLSValue</a> (float h, float v1, float v2)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Used by buildFromHLS. <a href="#a355"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a391">humanReadableToBytes</a> (const std::string &amp;str)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a human readable into a bytes, for example "102kb" -&gt; 105123. <a href="#a391"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a267">humanReadableToBytes</a> (const string &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a295">initDebug2</a> (bool logInFile)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a341">isdirectory</a> (dirent *de)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a342">isfile</a> (dirent *de)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a264">isPowerOf2</a> (<a class="el" href="a04558.html#a10">sint32</a> <a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a384">isValidDouble</a> (double <a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a261">itoaInt64</a> (<a class="el" href="a04558.html#a12">sint64</a> number, char *str, <a class="el" href="a04558.html#a12">sint64</a> base)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert an sint64 into a string (same as itoa() function but for 64 bits intergers). <a href="#a261"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03447.html">CStringConversion</a>&lt; <a class="el" href="a05378.html#a442">TKey</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a325">KeyConversion</a> (<a class="el" href="a05378.html#a21">stringTable</a>, sizeof(<a class="el" href="a05378.html#a21">stringTable</a>)/sizeof(<a class="el" href="a05378.html#a21">stringTable</a>[0]), KeyCount)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a279">killProgram</a> (<a class="el" href="a04558.html#a11">uint32</a> pid)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">This function kill a program using his pid (on unix, it uses the kill() POSIX function). <a href="#a279"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a280">launchProgram</a> (const std::string &amp;programName, const std::string &amp;arguments)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a380">maxof</a> (const T &amp;a, const T &amp;b, const T &amp;c, const T &amp;d, const T &amp;e)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a379">maxof</a> (const T &amp;a, const T &amp;b, const T &amp;c, const T &amp;d)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a378">maxof</a> (const T &amp;a, const T &amp;b, const T &amp;c)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a377">minof</a> (const T &amp;a, const T &amp;b, const T &amp;c, const T &amp;d, const T &amp;e)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a376">minof</a> (const T &amp;a, const T &amp;b, const T &amp;c, const T &amp;d)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a375">minof</a> (const T &amp;a, const T &amp;b, const T &amp;c)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>CPolygon2D::TVec2fVect::const_iterator&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a346">Next</a> (const CPolygon2D::TVec2fVect::const_iterator &amp;it, const <a class="el" href="a03101.html#NLMISC_1_1CPolygon2Dw2">CPolygon2D::TVec2fVect</a> &amp;cont)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a245">NL_TRIVIAL_TYPE_TRAITS</a> (<a class="el" href="a03083.html">NL3D::CPlaneBasis</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a294">nlError</a> (const char *<a class="el" href="a04223.html#a641">format</a>,...)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Never use this function but call the nlerror macro (internal use only). <a href="#a294"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a293">nlFatalError</a> (const char *<a class="el" href="a04223.html#a641">format</a>,...)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Never use this function (internal use only). <a href="#a293"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a284">nlfseek64</a> (FILE *stream, <a class="el" href="a04558.html#a12">sint64</a> <a class="el" href="a04223.html#a586">offset</a>, int origin)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a331">NLMISC_COMMAND</a> (displayMeasures,"display hierarchical timer","[<a class="el" href="a04223.html#a634">depth</a>]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a324">NLMISC_COMMAND</a> (playerInfo,"Get informations about a player or all players <a class="el" href="a04223.html#a647">in</a> <a class="el" href="a02454.html">CEntityIdTranslator</a>","[&lt; entityname &gt;|&lt; eid &gt;|&lt; username &gt;|&lt; uid &gt;]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a323">NLMISC_COMMAND</a> (entityNameValid,"Tell if an entity name is valid or not using <a class="el" href="a02454.html">CEntityIdTranslator</a> validation rulez","&lt; entityname &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a322">NLMISC_COMMAND</a> (findEIdByEntity,"Find entity <a class="el" href="a04223.html#a564">id</a> using the entity name","&lt; entityname &gt;|&lt; eid &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a321">NLMISC_COMMAND</a> (findEIdByUser,"Find entity ids using the user name","&lt; username &gt;|&lt; uid &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a319">NLMISC_COMMAND</a> (readaccess,"read a <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a04223.html#a658">value</a> <a class="el" href="a04223.html#a647">in</a> an invalid <a class="el" href="a04223.html#a569">address</a>","[&lt; adr &gt;]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a318">NLMISC_COMMAND</a> (writeaccess,"write a <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a04223.html#a658">value</a> <a class="el" href="a04223.html#a647">in</a> an invalid <a class="el" href="a04223.html#a569">address</a>","[&lt; adr &gt;[&lt; <a class="el" href="a04223.html#a658">value</a> &gt;]]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a317">NLMISC_COMMAND</a> (divbyzero,"generate a divide by zero","")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a316">NLMISC_COMMAND</a> (abort,"generate a abort()","")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a315">NLMISC_COMMAND</a> (stop,"generate a nlstop()","")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a314">NLMISC_COMMAND</a> (assert,"generate a failed nlassert()","")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a313">NLMISC_COMMAND</a> (displayFilterWarning,"display filter on <a class="el" href="a05378.html#a11">WarningLog</a>","")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a312">NLMISC_COMMAND</a> (removeFilterWarning,"remove a filter on <a class="el" href="a05378.html#a11">WarningLog</a>","[&lt; filterstr &gt;]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a311">NLMISC_COMMAND</a> (addNegativeFilterWarning,"add a negative filter on <a class="el" href="a05378.html#a11">WarningLog</a>","&lt; filterstr &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a310">NLMISC_COMMAND</a> (addPositiveFilterWarning,"add a positive filter on <a class="el" href="a05378.html#a11">WarningLog</a>","&lt; filterstr &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a309">NLMISC_COMMAND</a> (displayFilterInfo,"display filter on <a class="el" href="a05378.html#a12">InfoLog</a>","[d|i|<a class="el" href="a04223.html#a575">w</a>|e]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a308">NLMISC_COMMAND</a> (removeFilterInfo,"remove a filter on <a class="el" href="a05378.html#a12">InfoLog</a>","[&lt; filterstr &gt;]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a307">NLMISC_COMMAND</a> (addNegativeFilterInfo,"add a negative filter on <a class="el" href="a05378.html#a12">InfoLog</a>","&lt; filterstr &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a306">NLMISC_COMMAND</a> (addPositiveFilterInfo,"add a positive filter on <a class="el" href="a05378.html#a12">InfoLog</a>","&lt; filterstr &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a305">NLMISC_COMMAND</a> (displayFilterDebug,"display filter on <a class="el" href="a05378.html#a13">DebugLog</a>","")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a304">NLMISC_COMMAND</a> (removeFilterDebug,"remove a filter on <a class="el" href="a05378.html#a13">DebugLog</a>","[&lt; filterstr &gt;]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a303">NLMISC_COMMAND</a> (addNegativeFilterDebug,"add a negative filter on <a class="el" href="a05378.html#a13">DebugLog</a>","&lt; filterstr &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a302">NLMISC_COMMAND</a> (addPositiveFilterDebug,"add a positive filter on <a class="el" href="a05378.html#a13">DebugLog</a>","&lt; filterstr &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a301">NLMISC_COMMAND</a> (resetFilters,"disable all filters on Nel loggers","[debug|info|warning|error|assert]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a300">NLMISC_COMMAND</a> (displayMemlog,"displays the last N <a class="el" href="a04560.html#a2">line</a> of the log <a class="el" href="a04223.html#a647">in</a> memory","[&lt; NbLines &gt;]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a288">NLMISC_COMMAND</a> (killProgram,"kill a <a class="el" href="a04223.html#a568">program</a> given the pid","&lt; pid &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a287">NLMISC_COMMAND</a> (launchProgram,"Execute the command <a class="el" href="a04560.html#a2">line</a> using launcProgram() function call(launch <a class="el" href="a04223.html#a647">in</a> background task without waiting the end of the execution)","&lt; programName &gt;&lt; arguments &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a286">NLMISC_COMMAND</a> (system,"Execute the command <a class="el" href="a04560.html#a2">line</a> using system() function call(wait until the end of the command)","&lt; commandline &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a285">NLMISC_COMMAND</a> (sleep,"Freeze the service for N seconds(for debug purpose)","&lt; N &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a272">NLMISC_COMMAND</a> (stohr,"Convert a second number into an human readable time","&lt; int &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a269">NLMISC_COMMAND</a> (hrtob,"Convert a human readable number into a bytes number","&lt; hr &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a268">NLMISC_COMMAND</a> (btohr,"Convert a bytes number into an human readable number","&lt; int &gt;")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a255">NLMISC_COMMAND</a> (help,"display help on a specific variable/commands or on all variables and commands","[&lt; variable &gt;|&lt; command &gt;]")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a362">NLMISC_DYNVARIABLE</a> (string, OS,"OS used")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a361">NLMISC_DYNVARIABLE</a> (string, ProcessUsedMemory,"Memory used by this process <a class="el" href="a04223.html#a647">in</a> bytes")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a360">NLMISC_DYNVARIABLE</a> (string, TotalPhysicalMemory,"Total physical memory on this computer <a class="el" href="a04223.html#a647">in</a> bytes")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a359">NLMISC_DYNVARIABLE</a> (string, AvailablePhysicalMemory,"Physical memory available on this computer <a class="el" href="a04223.html#a647">in</a> bytes")</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a256">nlSleep</a> (<a class="el" href="a04558.html#a11">uint32</a> ms)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a389">nlstricmp</a> (const char *lhs, const std::string &amp;rhs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a388">nlstricmp</a> (const std::string &amp;lhs, const char *rhs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a387">nlstricmp</a> (const std::string &amp;lhs, const std::string &amp;rhs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a386">nlstricmp</a> (const char *lhs, const char *rhs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03664.html">CVectorD</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a441">operator *</a> (double f, const <a class="el" href="a03664.html">CVectorD</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03128.html">CVector</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a440">operator *</a> (float f, const <a class="el" href="a03128.html">CVector</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03660.html">CVector2f</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a438">operator *</a> (float f, const <a class="el" href="a03660.html">CVector2f</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03659.html">CVector2d</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a437">operator *</a> (double f, const <a class="el" href="a03659.html">CVector2d</a> &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03640.html">CUV</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a436">operator *</a> (const <a class="el" href="a03640.html">CUV</a> &amp;uv, float f)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03640.html">CUV</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a435">operator *</a> (float f, const <a class="el" href="a03640.html">CUV</a> &amp;uv)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03338.html">CRGBAF</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a406">operator *</a> (float f, const <a class="el" href="a03338.html">CRGBAF</a> &amp;c)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03082.html">CPlane</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a334">operator *</a> (const <a class="el" href="a03082.html">CPlane</a> &amp;p, const <a class="el" href="a02851.html">CMatrix</a> &amp;m)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a403">operator!=</a> (const <a class="el" href="a02576.html">CGameDeviceDesc</a> &amp;lhs, const <a class="el" href="a02576.html">CGameDeviceDesc</a> &amp;rhs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a439">operator&lt;</a> (const <a class="el" href="a03660.html">CVector2f</a> &amp;lhs, const <a class="el" href="a03660.html">CVector2f</a> &amp;rhs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a352">operator&lt;</a> (const <a class="el" href="a03101.html">CPolygon2D</a> &amp;lhs, const <a class="el" href="a03101.html">CPolygon2D</a> &amp;rhs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a402">operator==</a> (const <a class="el" href="a02576.html">CGameDeviceDesc</a> &amp;lhs, const <a class="el" href="a02576.html">CGameDeviceDesc</a> &amp;rhs)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">for devices comparison. The 'Connected' field is ignored. <a href="#a402"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a351">operator==</a> (const <a class="el" href="a03101.html">CPolygon2D</a> &amp;lhs, const <a class="el" href="a03101.html">CPolygon2D</a> &amp;rhs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a397">OptFastFloor</a> (float <a class="el" href="a04223.html#a572">x</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a401">OptFastFloor24</a> (float <a class="el" href="a04223.html#a572">x</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a395">OptFastFloorBegin</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a399">OptFastFloorBegin24</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a396">OptFastFloorEnd</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a400">OptFastFloorEnd24</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a398">OptFastFractionnalPart</a> (float <a class="el" href="a04223.html#a572">x</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>CPolygon2D::TVec2fVect::const_iterator&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a347">Prev</a> (const CPolygon2D::TVec2fVect::const_iterator &amp;it, const <a class="el" href="a03101.html#NLMISC_1_1CPolygon2Dw2">CPolygon2D::TVec2fVect</a> &amp;cont)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a383">radToDeg</a> (float rad)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a262">raiseToNextPowerOf2</a> (<a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a340">removeAllUnusedChar</a> (string &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a357">removeSlashR</a> (string str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05378.html#a445">TReportResult</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a405">report</a> (const std::string &amp;title, const std::string &amp;header, const std::string &amp;subject, const std::string &amp;body, bool enableCheckIgnore, <a class="el" href="a04558.html#a15">uint</a> debugButton, bool ignoreButton, <a class="el" href="a04558.html#a14">sint</a> quitButton, bool sendReportButton, bool &amp;ignoreNextTime)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a354">report</a> ()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a254">rotateCCW</a> (const T *<a class="el" href="a04223.html#a652">src</a>, T *dst, <a class="el" href="a04558.html#a15">uint</a> srcWidth, <a class="el" href="a04558.html#a15">uint</a> srcHeight)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T, class U&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a393">safe_cast</a> (U o)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a345">ScanEdge</a> (<a class="el" href="a03101.html#NLMISC_1_1CPolygon2Dw1">CPolygon2D::TRasterVect</a> &amp;outputVect, <a class="el" href="a04558.html#a14">sint</a> topY, const <a class="el" href="a03660.html">CVector2f</a> &amp;v1, const <a class="el" href="a03660.html">CVector2f</a> &amp;v2, bool rightEdge=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">*************************************************************************************** <a href="#a345"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a350">ScanInnerEdge</a> (<a class="el" href="a03101.html#NLMISC_1_1CPolygon2Dw0">CPolygon2D::TRaster</a> *<a class="el" href="a04223.html#a628">r</a>, float x1, float y1, float x2, float y2, <a class="el" href="a04558.html#a14">sint</a> minY, bool rightEdge)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a349">ScanOuterEdgeLeft</a> (<a class="el" href="a03101.html#NLMISC_1_1CPolygon2Dw0">CPolygon2D::TRaster</a> *<a class="el" href="a04223.html#a628">r</a>, float x1, float y1, float x2, float y2, <a class="el" href="a04558.html#a14">sint</a> minY)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a348">ScanOuterEdgeRight</a> (<a class="el" href="a03101.html#NLMISC_1_1CPolygon2Dw0">CPolygon2D::TRaster</a> *<a class="el" href="a04223.html#a628">r</a>, float x1, float y1, float x2, float y2, <a class="el" href="a04558.html#a14">sint</a> minY)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; <a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a367">searchLowerBound</a> (const std::vector&lt; T &gt; &amp;array, const T &amp;key)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; <a class="el" href="a04558.html#a15">uint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a366">searchLowerBound</a> (const T *array, <a class="el" href="a04558.html#a15">uint</a> arraySize, const T &amp;key)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a270">secondsToHumanReadable</a> (<a class="el" href="a04558.html#a11">uint32</a> time)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a time into a string that is easily readable by an human, for example 3600 -&gt; "1h". <a href="#a270"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a292">setAssert</a> (bool assert)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a291">setCrashCallback</a> (<a class="el" href="a05378.html#a45">TCrashCallback</a> crashCallback)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a353">setReportEmailFunction</a> (void *emailFunction)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a330">skipToken</a> (const char *p)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a329">skipWS</a> (const char *p)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a259">smprintf</a> (char *<a class="el" href="a04223.html#a589">buffer</a>, size_t <a class="el" href="a04223.html#a577">count</a>, const char *<a class="el" href="a04223.html#a641">format</a>,...)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a248">splitString</a> (const std::string &amp;str, const std::string &amp;separator, std::vector&lt; std::string &gt; &amp;retList)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a373">sqr</a> (const T &amp;<a class="el" href="a04223.html#a576">v</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T, class U&gt; bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a370">strFindReplace</a> (T &amp;str, const char *strFind, const U &amp;strReplace)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T, class U&gt; bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a369">strFindReplace</a> (T &amp;str, const T &amp;strFind, const U &amp;strReplace)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">In a string or ucstring, find a substr and replace it with an other. return true if replaced. <a href="#a369"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a385">stricmp</a> (const char *lhs, const char *rhs)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a390">stringFromVector</a> (const std::vector&lt; <a class="el" href="a04558.html#a7">uint8</a> &gt; &amp;<a class="el" href="a04223.html#a576">v</a>, bool limited=true)</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a readable string from a vector of bytes. unprintable char are replaced by '?'. <a href="#a390"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a258">stringFromVector</a> (const vector&lt; <a class="el" href="a04558.html#a7">uint8</a> &gt; &amp;<a class="el" href="a04223.html#a576">v</a>, bool limited)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a275">strlwr</a> (char *str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a274">strlwr</a> (std::string &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a273">strlwr</a> (const std::string &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a278">strupr</a> (char *str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a277">strupr</a> (const std::string &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string &amp;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a276">strupr</a> (std::string &amp;str)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a247">testWildCard</a> (const char *strIn, const char *wildCard)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a246">testWildCard</a> (const std::string &amp;strIn, const std::string &amp;wildCard)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a422">toString</a> (const std::string &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a421">toString</a> (const bool &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a420">toString</a> (const double &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a419">toString</a> (const float &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a418">toString</a> (const <a class="el" href="a04558.html#a12">sint64</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a417">toString</a> (const <a class="el" href="a04558.html#a13">uint64</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a416">toString</a> (const <a class="el" href="a04558.html#a10">sint32</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a415">toString</a> (const <a class="el" href="a04558.html#a11">uint32</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a414">toString</a> (const <a class="el" href="a04558.html#a8">sint16</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a413">toString</a> (const <a class="el" href="a04558.html#a9">uint16</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a412">toString</a> (const <a class="el" href="a04558.html#a6">sint8</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a411">toString</a> (const <a class="el" href="a04558.html#a7">uint8</a> &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a410">toString</a> (const T &amp;obj)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a407">toString</a> (const char *<a class="el" href="a04223.html#a641">format</a>,...)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a244">toString</a> (<a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmitterw6">NL3D::CPSEmitter::TEmissionType</a> <a class="el" href="a04223.html#a581">type</a>)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a409">toStringEnum</a> (const T &amp;val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T&gt; std::string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a408">toStringPtr</a> (const T *val)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>template&lt;class T, class U&gt; T&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a394">type_cast</a> (U o)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a332">xmlGenericErrorFuncRead</a> (void *ctx, const char *msg,...)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>void&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a337">xmlGenericErrorFuncWrite</a> (void *ctx, const char *msg,...)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a339">xmlOutputCloseCallbackForNeL</a> (void *context)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a338">xmlOutputWriteCallbackForNeL</a> (void *context, const char *<a class="el" href="a04223.html#a589">buffer</a>, int <a class="el" href="a04223.html#a571">len</a>)</td></tr>
+
+<tr><td colspan=2><br><h2>Variables</h2></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02813.html">CLog</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a14">AssertLog</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>string&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a31">BasePathgetPathContent</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a38">BF_ALWAYS_OPENED</a> = 0x00000001</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a39">BF_CACHE_FILE_ON_OPEN</a> = 0x00000002</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05378.html#a45">TCrashCallback</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a19">CrashCallback</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a41">DDS</a> = ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'D' ) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'D' ) &lt;&lt; 8) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'S' ) &lt;&lt; 16) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( ) &lt;&lt; 24 ))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02813.html">CLog</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a13">DebugLog</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a7">DebugNeedAssert</a> = false</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02751.html">CMemDisplayer</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a15">DefaultMemDisplayer</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02972.html">CMsgBoxDisplayer</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a16">DefaultMsgBoxDisplayer</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a42">DXT_</a> = ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'D' ) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'X' ) &lt;&lt; 8) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'T' ) &lt;&lt; 16) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( '\0' ) &lt;&lt; 24 ))</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a05378.html#a34">TEmailFunction</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a35">EmailFunction</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02813.html">CLog</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a10">ErrorLog</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a50">EventActivateId</a> (0x7da66b0a, 0x1ef74519)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a49">EventCharId</a> (0x552255fe, 0x75a2373f)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a52">EventDestroyWindowId</a> (0x69be73fe, 0x4b07603b)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a223">EventGDAxisMovedId</a> (0x073306, 0x41173626)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a221">EventGDButtonDownId</a> (0x57141957, 0x3efb143a)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a222">EventGDButtonUpId</a> (0x16105e06, 0x302536b2)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a220">EventGDMouseMove</a> (0x12142bc4, 0x43c73e74)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a225">EventGDPOVChanged</a> (0x362851b9, 0x395c4d61)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a224">EventGDSliderMovedId</a> (0x68776586, 0x394a6916)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a47">EventKeyDownId</a> (0x3c2643da, 0x43f802a1)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a48">EventKeyUpId</a> (0x1e62e85, 0x68a35d46)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a56">EventMouseDblClkId</a> (0x55a94cb3, 0x3e641517)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a54">EventMouseDownId</a> (0x35b7878, 0x5d4a0f86)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a53">EventMouseMoveId</a> (0x3dd12fdb, 0x472f548b)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a55">EventMouseUpId</a> (0xcce1f7e, 0x7ed344d7)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a57">EventMouseWheelId</a> (0x73ac4321, 0x4c273150)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a02341.html">CClassId</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a51">EventSetFocusId</a> (0x17650fac, 0x19f85dde)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02525.html">CFileDisplayer</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a18">fd</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>vector&lt; <a class="el" href="a02527.html">CFileEntry</a> &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a32">FileToCheck</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a9">GlobalAssertCall</a> = false</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a5">HasMMX</a> = DetectMMX()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a6">HasSSE</a> = DetectSSE()</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02813.html">CLog</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a12">InfoLog</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a3">JPGBuffer</a> [<a class="el" href="a05378.html#a2">JPGBufferSize</a>]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a2">JPGBufferSize</a> = 1000</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02270.html">NLMISC::IStream</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a1">JPGStream</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a20">LogTypeToString</a> [][8]</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a43">MAX_MIPMAP</a> = 16</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a235">MaxCStringSize</a> = 1024*2</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a4">NL3D_BlockMemoryAssertOnPurge</a> = true</td></tr>
+
+<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">See CBlockMemory::Purge. <a href="#a4"></a><br><br></td></tr>
+<tr><td class="memItemLeft" nowrap align=right valign=top>const float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a29">NL3D_OO255</a> = 1.0f / 255</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03303.html">CRandomGrid3D</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a30">NL3D_RandomGrid3D</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>bool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a8">NoAssert</a> = false</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a23">OptFastFloorBkupCW</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a25">OptFastFloorBkupCW24</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a22">OptFastFloorMagicConst</a> = pow(2,52) + pow(2,51)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>float&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a24">OptFastFloorMagicConst24</a> = (float)pow(2,23)</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a44">Pi</a> = 3.1415926535897932384626433832795</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const double&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a227">QuatEpsilon</a> = 0.000001</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a03443.html">CStdDisplayer</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a17">sd</a> = NULL</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const int&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a37">SEP_SIZE</a> = 1</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const char&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a28">SEPARATOR</a> = ' '</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const char *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a0">SerialTypeToCStr</a> [TBMSSerialInfo::NbSerialTypes] = { "Bool ", "Ui32N", "Ui64N", "Float", "Btfld", "Buffr" }</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>map&lt; <a class="el" href="a05378.html#a232">TSharedMemId</a>, int &gt;&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a36">SharedMemIdsToShmids</a></td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top>const <a class="el" href="a03447.html">CStringConversion</a>&lt; <a class="el" href="a05378.html#a442">TKey</a> <br>
+&gt;::CPair&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a21">stringTable</a> []</td></tr>
+
+<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="a02813.html">CLog</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="a05378.html#a11">WarningLog</a> = NULL</td></tr>
+
+</table>
+<hr><h2>Typedef Documentation</h2>
+<a class="anchor" name="a226" doxytag="NLMISC::CAllocatorMutex" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a02516.html">CFastMutex</a> <a class="el" href="a02516.html">NLMISC::CAllocatorMutex</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05778.html#l00056">56</a> of file <a class="el" href="a05778.html">include/nel/misc/heap_allocator.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a46" doxytag="NLMISC::mapListener" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::multimap&lt;<a class="el" href="a02341.html">CClassId</a>, <a class="el" href="a02464.html">IEventListener</a>*&gt; <a class="el" href="a05378.html#a46">NLMISC::mapListener</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05689.html#l00043">43</a> of file <a class="el" href="a05689.html">event_server.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a26" doxytag="NLMISC::memcpyPtr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef void*(* <a class="el" href="a05378.html#a26">NLMISC::memcpyPtr</a>)(void *dts, const void *<a class="el" href="a04223.html#a652">src</a>, size_t nbytes)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05702.html#l00225">225</a> of file <a class="el" href="a05702.html">fast_mem.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05702.html#l00227">findBestmemcpy()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a40" doxytag="NLMISC::TBMSSerialInfoList" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::vector&lt; <a class="el" href="a03899.html">TBMSSerialInfo</a> &gt; <a class="el" href="a05378.html#a40">NLMISC::TBMSSerialInfoList</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05483.html#l00153">153</a> of file <a class="el" href="a05483.html">bit_mem_stream.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a33" doxytag="NLMISC::TCConcavePolygonsVertexMap" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::map&lt;float, <a class="el" href="a02398.html">CConcavePolygonsVertexDesc</a>&gt; <a class="el" href="a05378.html#a33">NLMISC::TCConcavePolygonsVertexMap</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06190.html#l00173">173</a> of file <a class="el" href="a06190.html">polygon.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06190.html#l00392">NLMISC::CPolygon::toConvexPolygonsLocalAndBSP()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a241" doxytag="NLMISC::TCPUCycle" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a04558.html#a12">sint64</a> <a class="el" href="a05378.html#a241">NLMISC::TCPUCycle</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06553.html#l00044">44</a> of file <a class="el" href="a06553.html">time_nl.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a45" doxytag="NLMISC::TCrashCallback" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::string(* <a class="el" href="a05378.html#a45">NLMISC::TCrashCallback</a>)()
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05622.html#l00075">75</a> of file <a class="el" href="a05622.html">debug.h</a>.
+<p>
+Referenced by <a class="el" href="a05621.html#l00104">setCrashCallback()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a219" doxytag="NLMISC::TDeviceDescVect" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::vector&lt;<a class="el" href="a02576.html">CGameDeviceDesc</a>&gt; <a class="el" href="a05378.html#a219">NLMISC::TDeviceDescVect</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05756.html#l00052">52</a> of file <a class="el" href="a05756.html">game_device.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a34" doxytag="NLMISC::TEmailFunction" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef bool(* <a class="el" href="a05378.html#a34">NLMISC::TEmailFunction</a>)(const std::string &amp;smtpServer, const std::string &amp;<a class="el" href="a04113.html#a70">from</a>, const std::string &amp;to, const std::string &amp;subject, const std::string &amp;body, const std::string &amp;attachedFile = "", bool onlyCheck = false)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06331.html#l00061">61</a> of file <a class="el" href="a06331.html">report.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06331.html#l00067">setReportEmailFunction()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a239" doxytag="NLMISC::TGameCycle" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05378.html#a239">NLMISC::TGameCycle</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06553.html#l00042">42</a> of file <a class="el" href="a06553.html">time_nl.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a238" doxytag="NLMISC::TGameTime" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef double <a class="el" href="a05378.html#a238">NLMISC::TGameTime</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+New time types.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06553.html#l00041">41</a> of file <a class="el" href="a06553.html">time_nl.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a27" doxytag="NLMISC::TLinkMap" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef std::map&lt;std::string, <a class="el" href="a02729.html">CLeak</a>&gt; <a class="el" href="a05378.html#a27">NLMISC::TLinkMap</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05776.html#l01914">1914</a> of file <a class="el" href="a05776.html">misc/heap_allocator.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05776.html#l01916">NLMISC::CHeapAllocator::debugReportMemoryLeak()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a240" doxytag="NLMISC::TLocalTime" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef double <a class="el" href="a05378.html#a240">NLMISC::TLocalTime</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06553.html#l00043">43</a> of file <a class="el" href="a06553.html">time_nl.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a234" doxytag="NLMISC::TMsDuration" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05378.html#a234">NLMISC::TMsDuration</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06460.html#l00038">38</a> of file <a class="el" href="a06460.html">stop_watch.h</a>.
+<p>
+Referenced by <a class="el" href="a06459.html#l00155">NLMISC::CStopWatch::getAverageDuration()</a>, <a class="el" href="a06459.html#l00134">NLMISC::CStopWatch::getDuration()</a>, and <a class="el" href="a06459.html#l00143">NLMISC::CStopWatch::getPartialAverage()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a232" doxytag="NLMISC::TSharedMemId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef key_t <a class="el" href="a05378.html#a232">NLMISC::TSharedMemId</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06383.html#l00041">41</a> of file <a class="el" href="a06383.html">shared_memory.h</a>.
+<p>
+Referenced by <a class="el" href="a06382.html#l00100">NLMISC::CSharedMemory::accessSharedMemory()</a>, <a class="el" href="a06382.html#l00055">NLMISC::CSharedMemory::createSharedMemory()</a>, and <a class="el" href="a06382.html#l00177">NLMISC::CSharedMemory::destroySharedMemory()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a237" doxytag="NLMISC::TSStringId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a05378.html#a237">NLMISC::TSStringId</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06470.html#l00104">104</a> of file <a class="el" href="a06470.html">string_mapper.h</a>.
+<p>
+Referenced by <a class="el" href="a06469.html#l00099">NLMISC::CStaticStringMapper::add()</a>, <a class="el" href="a06470.html#l00147">NLMISC::CStaticStringMapper::emptyId()</a>, <a class="el" href="a06469.html#l00167">NLMISC::CStaticStringMapper::get()</a>, <a class="el" href="a06469.html#l00117">NLMISC::CStaticStringMapper::memoryUncompress()</a>, and <a class="el" href="a06469.html#l00199">NLMISC::CStaticStringMapper::serial()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a236" doxytag="NLMISC::TStringId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a04558.html#a15">uint</a> <a class="el" href="a05378.html#a236">NLMISC::TStringId</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06470.html#l00042">42</a> of file <a class="el" href="a06470.html">string_mapper.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a233" doxytag="NLMISC::TTickDuration" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05378.html#a233">NLMISC::TTickDuration</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06460.html#l00037">37</a> of file <a class="el" href="a06460.html">stop_watch.h</a>.
+<p>
+Referenced by <a class="el" href="a06459.html#l00112">NLMISC::CStopWatch::addMeasurement()</a>, <a class="el" href="a06459.html#l00080">NLMISC::CStopWatch::addTime()</a>, <a class="el" href="a06459.html#l00062">NLMISC::CStopWatch::pause()</a>, <a class="el" href="a06459.html#l00089">NLMISC::CStopWatch::stop()</a>, and <a class="el" href="a06460.html#l00089">NLMISC::CStopWatch::sumTicks()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a243" doxytag="NLMISC::TTicks" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a04558.html#a12">sint64</a> <a class="el" href="a05378.html#a243">NLMISC::TTicks</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06553.html#l00048">48</a> of file <a class="el" href="a06553.html">time_nl.h</a>.
+<p>
+Referenced by <a class="el" href="a05642.html#l03131">NL3D::CDriverGL::appendVBHardLockProfile()</a>, <a class="el" href="a05761.html#l00855">NLPACS::CGlobalRetriever::findAStarPath()</a>, <a class="el" href="a05761.html#l01062">NLPACS::CGlobalRetriever::findPath()</a>, <a class="el" href="a05508.html#l00354">NLMISC::CBufFIFO::front()</a>, <a class="el" href="a06552.html#l00105">NLMISC::CTime::getPerformanceTime()</a>, <a class="el" href="a06391.html#l00084">NLSOUND::CSimpleSource::getPlayTime()</a>, <a class="el" href="a06479.html#l00441">NLMISC::CSystemInfo::getProcessorFrequency()</a>, <a class="el" href="a05654.html#l00304">NL3D::CVertexBufferHardGLNVidia::lock()</a>, <a class="el" href="a05508.html#l00068">NLMISC::CBufFIFO::push()</a>, <a class="el" href="a05508.html#l00437">NLMISC::CBufFIFO::resize()</a>, <a class="el" href="a05412.html#l01628">NLAIAGENT::CAgentScript::run()</a>, <a class="el" href="a05416.html#l00631">NLAIAGENT::CAgentClockTimer::runActivity()</a>, <a class="el" href="a05416.html#l00280">NLAIAGENT::CAgentWatchTimer::runActivity()</a>, <a class="el" href="a06552.html#l00143">NLMISC::CTime::ticksToSecond()</a>, and <a class="el" href="a06420.html#l00703">NLSOUND::CSoundDriverDSound::update()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a242" doxytag="NLMISC::TTime" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> typedef <a class="el" href="a04558.html#a12">sint64</a> <a class="el" href="a05378.html#a242">NLMISC::TTime</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Old time type.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06553.html#l00047">47</a> of file <a class="el" href="a06553.html">time_nl.h</a>.
+<p>
+Referenced by <a class="el" href="a05465.html#l02068">NLSOUND::CAudioMixerUser::addEvent()</a>, <a class="el" href="a05526.html#l00328">NLNET::CCallbackNetBase::baseUpdate()</a>, <a class="el" href="a06650.html#l00262">NLNET::cbServerAskUniversalTime()</a>, <a class="el" href="a06641.html#l00238">NLNET::CUdpSimSock::dataAvailable()</a>, <a class="el" href="a06552.html#l00055">NLMISC::CTime::getLocalTime()</a>, <a class="el" href="a06650.html#l00096">NLNET::_CUniTime::getStringUniTime()</a>, <a class="el" href="a05593.html#l00441">NLSOUND::CComplexSource::getTime()</a>, <a class="el" href="a06650.html#l00076">NLNET::_CUniTime::getUniTime()</a>, <a class="el" href="a05926.html#l00145">loadForm()</a>, <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, <a class="el" href="a05593.html#l00577">NLSOUND::CComplexSource::onEvent()</a>, <a class="el" href="a05593.html#l00456">NLSOUND::CComplexSource::onUpdate()</a>, <a class="el" href="a05593.html#l00105">NLSOUND::CComplexSource::playStuf()</a>, <a class="el" href="a05416.html#l00140">NLAIAGENT::CAgentManagerTimer::CRunTimer::run()</a>, <a class="el" href="a06641.html#l00115">NLNET::CUdpSimSock::sendUDP()</a>, <a class="el" href="a06650.html#l00049">NLNET::_CUniTime::setUniTime()</a>, <a class="el" href="a06365.html#l00264">NLNET::IService::setUpdateTimeout()</a>, <a class="el" href="a06552.html#l00143">NLMISC::CTime::ticksToSecond()</a>, <a class="el" href="a06420.html#l00679">NLSOUND::CSoundDriverDSound::TimerCallback()</a>, <a class="el" href="a06645.html#l00857">NLNET::CUnifiedNetwork::update()</a>, <a class="el" href="a06420.html#l00703">NLSOUND::CSoundDriverDSound::update()</a>, <a class="el" href="a06098.html#l00357">NLNET::CNetManager::update()</a>, <a class="el" href="a05514.html#l00247">NLNET::CBufSock::update()</a>, and <a class="el" href="a06641.html#l00171">NLNET::CUdpSimSock::updateBufferizedPackets()</a>. </td>
+ </tr>
+</table>
+<hr><h2>Enumeration Type Documentation</h2>
+<a class="anchor" name="a442" doxytag="NLMISC::TKey" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a05378.html#a442">NLMISC::TKey</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="a442a58" doxytag="Key0" ></a>Key0</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a59" doxytag="Key1" ></a>Key1</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a60" doxytag="Key2" ></a>Key2</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a61" doxytag="Key3" ></a>Key3</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a62" doxytag="Key4" ></a>Key4</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a63" doxytag="Key5" ></a>Key5</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a64" doxytag="Key6" ></a>Key6</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a65" doxytag="Key7" ></a>Key7</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a66" doxytag="Key8" ></a>Key8</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a67" doxytag="Key9" ></a>Key9</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a68" doxytag="KeyA" ></a>KeyA</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a69" doxytag="KeyB" ></a>KeyB</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a70" doxytag="KeyC" ></a>KeyC</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a71" doxytag="KeyD" ></a>KeyD</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a72" doxytag="KeyE" ></a>KeyE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a73" doxytag="KeyF" ></a>KeyF</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a74" doxytag="KeyG" ></a>KeyG</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a75" doxytag="KeyH" ></a>KeyH</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a76" doxytag="KeyI" ></a>KeyI</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a77" doxytag="KeyJ" ></a>KeyJ</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a78" doxytag="KeyK" ></a>KeyK</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a79" doxytag="KeyL" ></a>KeyL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a80" doxytag="KeyM" ></a>KeyM</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a81" doxytag="KeyN" ></a>KeyN</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a82" doxytag="KeyO" ></a>KeyO</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a83" doxytag="KeyP" ></a>KeyP</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a84" doxytag="KeyQ" ></a>KeyQ</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a85" doxytag="KeyR" ></a>KeyR</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a86" doxytag="KeyS" ></a>KeyS</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a87" doxytag="KeyT" ></a>KeyT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a88" doxytag="KeyU" ></a>KeyU</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a89" doxytag="KeyV" ></a>KeyV</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a90" doxytag="KeyW" ></a>KeyW</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a91" doxytag="KeyX" ></a>KeyX</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a92" doxytag="KeyY" ></a>KeyY</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a93" doxytag="KeyZ" ></a>KeyZ</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a94" doxytag="KeyLBUTTON" ></a>KeyLBUTTON</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a95" doxytag="KeyRBUTTON" ></a>KeyRBUTTON</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a96" doxytag="KeyCANCEL" ></a>KeyCANCEL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a97" doxytag="KeyMBUTTON" ></a>KeyMBUTTON</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a98" doxytag="KeyBACK" ></a>KeyBACK</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a99" doxytag="KeyTAB" ></a>KeyTAB</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a100" doxytag="KeyCLEAR" ></a>KeyCLEAR</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a101" doxytag="KeyRETURN" ></a>KeyRETURN</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a102" doxytag="KeySHIFT" ></a>KeySHIFT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a103" doxytag="KeyCONTROL" ></a>KeyCONTROL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a104" doxytag="KeyMENU" ></a>KeyMENU</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a105" doxytag="KeyPAUSE" ></a>KeyPAUSE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a106" doxytag="KeyCAPITAL" ></a>KeyCAPITAL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a107" doxytag="KeyKANA" ></a>KeyKANA</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a108" doxytag="KeyHANGEUL" ></a>KeyHANGEUL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a109" doxytag="KeyHANGUL" ></a>KeyHANGUL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a110" doxytag="KeyJUNJA" ></a>KeyJUNJA</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a111" doxytag="KeyFINAL" ></a>KeyFINAL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a112" doxytag="KeyHANJA" ></a>KeyHANJA</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a113" doxytag="KeyKANJI" ></a>KeyKANJI</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a114" doxytag="KeyESCAPE" ></a>KeyESCAPE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a115" doxytag="KeyCONVERT" ></a>KeyCONVERT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a116" doxytag="KeyNONCONVERT" ></a>KeyNONCONVERT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a117" doxytag="KeyACCEPT" ></a>KeyACCEPT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a118" doxytag="KeyMODECHANGE" ></a>KeyMODECHANGE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a119" doxytag="KeySPACE" ></a>KeySPACE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a120" doxytag="KeyPRIOR" ></a>KeyPRIOR</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a121" doxytag="KeyNEXT" ></a>KeyNEXT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a122" doxytag="KeyEND" ></a>KeyEND</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a123" doxytag="KeyHOME" ></a>KeyHOME</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a124" doxytag="KeyLEFT" ></a>KeyLEFT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a125" doxytag="KeyUP" ></a>KeyUP</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a126" doxytag="KeyRIGHT" ></a>KeyRIGHT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a127" doxytag="KeyDOWN" ></a>KeyDOWN</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a128" doxytag="KeySELECT" ></a>KeySELECT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a129" doxytag="KeyPRINT" ></a>KeyPRINT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a130" doxytag="KeyEXECUTE" ></a>KeyEXECUTE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a131" doxytag="KeySNAPSHOT" ></a>KeySNAPSHOT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a132" doxytag="KeyINSERT" ></a>KeyINSERT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a133" doxytag="KeyDELETE" ></a>KeyDELETE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a134" doxytag="KeyHELP" ></a>KeyHELP</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a135" doxytag="KeyLWIN" ></a>KeyLWIN</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a136" doxytag="KeyRWIN" ></a>KeyRWIN</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a137" doxytag="KeyAPPS" ></a>KeyAPPS</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a138" doxytag="KeyNUMPAD0" ></a>KeyNUMPAD0</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a139" doxytag="KeyNUMPAD1" ></a>KeyNUMPAD1</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a140" doxytag="KeyNUMPAD2" ></a>KeyNUMPAD2</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a141" doxytag="KeyNUMPAD3" ></a>KeyNUMPAD3</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a142" doxytag="KeyNUMPAD4" ></a>KeyNUMPAD4</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a143" doxytag="KeyNUMPAD5" ></a>KeyNUMPAD5</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a144" doxytag="KeyNUMPAD6" ></a>KeyNUMPAD6</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a145" doxytag="KeyNUMPAD7" ></a>KeyNUMPAD7</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a146" doxytag="KeyNUMPAD8" ></a>KeyNUMPAD8</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a147" doxytag="KeyNUMPAD9" ></a>KeyNUMPAD9</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a148" doxytag="KeyMULTIPLY" ></a>KeyMULTIPLY</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a149" doxytag="KeyADD" ></a>KeyADD</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a150" doxytag="KeySEPARATOR" ></a>KeySEPARATOR</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a151" doxytag="KeySUBTRACT" ></a>KeySUBTRACT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a152" doxytag="KeyDECIMAL" ></a>KeyDECIMAL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a153" doxytag="KeyDIVIDE" ></a>KeyDIVIDE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a154" doxytag="KeyF1" ></a>KeyF1</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a155" doxytag="KeyF2" ></a>KeyF2</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a156" doxytag="KeyF3" ></a>KeyF3</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a157" doxytag="KeyF4" ></a>KeyF4</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a158" doxytag="KeyF5" ></a>KeyF5</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a159" doxytag="KeyF6" ></a>KeyF6</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a160" doxytag="KeyF7" ></a>KeyF7</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a161" doxytag="KeyF8" ></a>KeyF8</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a162" doxytag="KeyF9" ></a>KeyF9</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a163" doxytag="KeyF10" ></a>KeyF10</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a164" doxytag="KeyF11" ></a>KeyF11</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a165" doxytag="KeyF12" ></a>KeyF12</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a166" doxytag="KeyF13" ></a>KeyF13</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a167" doxytag="KeyF14" ></a>KeyF14</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a168" doxytag="KeyF15" ></a>KeyF15</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a169" doxytag="KeyF16" ></a>KeyF16</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a170" doxytag="KeyF17" ></a>KeyF17</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a171" doxytag="KeyF18" ></a>KeyF18</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a172" doxytag="KeyF19" ></a>KeyF19</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a173" doxytag="KeyF20" ></a>KeyF20</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a174" doxytag="KeyF21" ></a>KeyF21</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a175" doxytag="KeyF22" ></a>KeyF22</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a176" doxytag="KeyF23" ></a>KeyF23</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a177" doxytag="KeyF24" ></a>KeyF24</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a178" doxytag="KeyNUMLOCK" ></a>KeyNUMLOCK</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a179" doxytag="KeySCROLL" ></a>KeySCROLL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a180" doxytag="KeyLSHIFT" ></a>KeyLSHIFT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a181" doxytag="KeyRSHIFT" ></a>KeyRSHIFT</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a182" doxytag="KeyLCONTROL" ></a>KeyLCONTROL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a183" doxytag="KeyRCONTROL" ></a>KeyRCONTROL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a184" doxytag="KeyLMENU" ></a>KeyLMENU</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a185" doxytag="KeyRMENU" ></a>KeyRMENU</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a186" doxytag="KeySEMICOLON" ></a>KeySEMICOLON</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a187" doxytag="KeyEQUALS" ></a>KeyEQUALS</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a188" doxytag="KeyCOMMA" ></a>KeyCOMMA</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a189" doxytag="KeyDASH" ></a>KeyDASH</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a190" doxytag="KeyPERIOD" ></a>KeyPERIOD</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a191" doxytag="KeySLASH" ></a>KeySLASH</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a192" doxytag="KeyTILDE" ></a>KeyTILDE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a193" doxytag="KeyLBRACKET" ></a>KeyLBRACKET</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a194" doxytag="KeyBACKSLASH" ></a>KeyBACKSLASH</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a195" doxytag="KeyRBRACKET" ></a>KeyRBRACKET</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a196" doxytag="KeyAPOSTROPHE" ></a>KeyAPOSTROPHE</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a197" doxytag="KeyPROCESSKEY" ></a>KeyPROCESSKEY</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a198" doxytag="KeyATTN" ></a>KeyATTN</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a199" doxytag="KeyCRSEL" ></a>KeyCRSEL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a200" doxytag="KeyEXSEL" ></a>KeyEXSEL</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a201" doxytag="KeyEREOF" ></a>KeyEREOF</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a202" doxytag="KeyPLAY" ></a>KeyPLAY</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a203" doxytag="KeyZOOM" ></a>KeyZOOM</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a204" doxytag="KeyNONAME" ></a>KeyNONAME</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a205" doxytag="KeyPA1" ></a>KeyPA1</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a206" doxytag="KeyOEM_CLEAR" ></a>KeyOEM_CLEAR</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a442a207" doxytag="KeyCount" ></a>KeyCount</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05691.html#l00081">81</a> of file <a class="el" href="a05691.html">events.h</a>.
+<p>
+Referenced by <a class="el" href="a05690.html#l00196">NLMISC::CEventKey::getKeyFromString()</a>.
+<p>
+<div class="fragment"><pre>00082 {
+00083 <a class="code" href="a05378.html#a442a58">Key0</a> =<span class="charliteral">'0'</span>,
+00084 <a class="code" href="a05378.html#a442a59">Key1</a> =<span class="charliteral">'1'</span>,
+00085 <a class="code" href="a05378.html#a442a60">Key2</a> =<span class="charliteral">'2'</span>,
+00086 <a class="code" href="a05378.html#a442a61">Key3</a> =<span class="charliteral">'3'</span>,
+00087 <a class="code" href="a05378.html#a442a62">Key4</a> =<span class="charliteral">'4'</span>,
+00088 <a class="code" href="a05378.html#a442a63">Key5</a> =<span class="charliteral">'5'</span>,
+00089 <a class="code" href="a05378.html#a442a64">Key6</a> =<span class="charliteral">'6'</span>,
+00090 <a class="code" href="a05378.html#a442a65">Key7</a> =<span class="charliteral">'7'</span>,
+00091 <a class="code" href="a05378.html#a442a66">Key8</a> =<span class="charliteral">'8'</span>,
+00092 <a class="code" href="a05378.html#a442a67">Key9</a> =<span class="charliteral">'9'</span>,
+00093 <a class="code" href="a05378.html#a442a68">KeyA</a> =<span class="charliteral">'A'</span>,
+00094 <a class="code" href="a05378.html#a442a69">KeyB</a> =<span class="charliteral">'B'</span>,
+00095 <a class="code" href="a05378.html#a442a70">KeyC</a> =<span class="charliteral">'C'</span>,
+00096 <a class="code" href="a05378.html#a442a71">KeyD</a> =<span class="charliteral">'D'</span>,
+00097 <a class="code" href="a05378.html#a442a72">KeyE</a> =<span class="charliteral">'E'</span>,
+00098 <a class="code" href="a05378.html#a442a73">KeyF</a> =<span class="charliteral">'F'</span>,
+00099 <a class="code" href="a05378.html#a442a74">KeyG</a> =<span class="charliteral">'G'</span>,
+00100 <a class="code" href="a05378.html#a442a75">KeyH</a> =<span class="charliteral">'H'</span>,
+00101 <a class="code" href="a05378.html#a442a76">KeyI</a> =<span class="charliteral">'I'</span>,
+00102 <a class="code" href="a05378.html#a442a77">KeyJ</a> =<span class="charliteral">'J'</span>,
+00103 <a class="code" href="a05378.html#a442a78">KeyK</a> =<span class="charliteral">'K'</span>,
+00104 <a class="code" href="a05378.html#a442a79">KeyL</a> =<span class="charliteral">'L'</span>,
+00105 <a class="code" href="a05378.html#a442a80">KeyM</a> =<span class="charliteral">'M'</span>,
+00106 <a class="code" href="a05378.html#a442a81">KeyN</a> =<span class="charliteral">'N'</span>,
+00107 <a class="code" href="a05378.html#a442a82">KeyO</a> =<span class="charliteral">'O'</span>,
+00108 <a class="code" href="a05378.html#a442a83">KeyP</a> =<span class="charliteral">'P'</span>,
+00109 <a class="code" href="a05378.html#a442a84">KeyQ</a> =<span class="charliteral">'Q'</span>,
+00110 <a class="code" href="a05378.html#a442a85">KeyR</a> =<span class="charliteral">'R'</span>,
+00111 <a class="code" href="a05378.html#a442a86">KeyS</a> =<span class="charliteral">'S'</span>,
+00112 <a class="code" href="a05378.html#a442a87">KeyT</a> =<span class="charliteral">'T'</span>,
+00113 <a class="code" href="a05378.html#a442a88">KeyU</a> =<span class="charliteral">'U'</span>,
+00114 <a class="code" href="a05378.html#a442a89">KeyV</a> =<span class="charliteral">'V'</span>,
+00115 <a class="code" href="a05378.html#a442a90">KeyW</a> =<span class="charliteral">'W'</span>,
+00116 <a class="code" href="a05378.html#a442a91">KeyX</a> =<span class="charliteral">'X'</span>,
+00117 <a class="code" href="a05378.html#a442a92">KeyY</a> =<span class="charliteral">'Y'</span>,
+00118 <a class="code" href="a05378.html#a442a93">KeyZ</a> =<span class="charliteral">'Z'</span>,
+00119 <a class="code" href="a05378.html#a442a94">KeyLBUTTON</a> =0x01,
+00120 <a class="code" href="a05378.html#a442a95">KeyRBUTTON</a> =0x02,
+00121 <a class="code" href="a05378.html#a442a96">KeyCANCEL</a> =0x03,
+00122 <a class="code" href="a05378.html#a442a97">KeyMBUTTON</a> =0x04,
+00123 <a class="code" href="a05378.html#a442a98">KeyBACK</a> =0x08,
+00124 <a class="code" href="a05378.html#a442a99">KeyTAB</a> =0x09,
+00125 <a class="code" href="a05378.html#a442a100">KeyCLEAR</a> =0x0C,
+00126 <a class="code" href="a05378.html#a442a101">KeyRETURN</a> =0x0D,
+00127 <a class="code" href="a05378.html#a442a102">KeySHIFT</a> =0x10,
+00128 <a class="code" href="a05378.html#a442a103">KeyCONTROL</a> =0x11,
+00129 <a class="code" href="a05378.html#a442a104">KeyMENU</a> =0x12,
+00130 <a class="code" href="a05378.html#a442a105">KeyPAUSE</a> =0x13,
+00131 <a class="code" href="a05378.html#a442a106">KeyCAPITAL</a> =0x14,
+00132 <a class="code" href="a05378.html#a442a107">KeyKANA</a> =0x15,
+00133 <a class="code" href="a05378.html#a442a108">KeyHANGEUL</a> =0x15,
+00134 <a class="code" href="a05378.html#a442a109">KeyHANGUL</a> =0x15,
+00135 <a class="code" href="a05378.html#a442a110">KeyJUNJA</a> =0x17,
+00136 <a class="code" href="a05378.html#a442a111">KeyFINAL</a> =0x18,
+00137 <a class="code" href="a05378.html#a442a112">KeyHANJA</a> =0x19,
+00138 <a class="code" href="a05378.html#a442a113">KeyKANJI</a> =0x19,
+00139 <a class="code" href="a05378.html#a442a114">KeyESCAPE</a> =0x1B,
+00140 <a class="code" href="a05378.html#a442a115">KeyCONVERT</a> =0x1C,
+00141 <a class="code" href="a05378.html#a442a116">KeyNONCONVERT</a> =0x1D,
+00142 <a class="code" href="a05378.html#a442a117">KeyACCEPT</a> =0x1E,
+00143 <a class="code" href="a05378.html#a442a118">KeyMODECHANGE</a> =0x1F,
+00144 <a class="code" href="a05378.html#a442a119">KeySPACE</a> =0x20,
+00145 <a class="code" href="a05378.html#a442a120">KeyPRIOR</a> =0x21,
+00146 <a class="code" href="a05378.html#a442a121">KeyNEXT</a> =0x22,
+00147 <a class="code" href="a05378.html#a442a122">KeyEND</a> =0x23,
+00148 <a class="code" href="a05378.html#a442a123">KeyHOME</a> =0x24,
+00149 <a class="code" href="a05378.html#a442a124">KeyLEFT</a> =0x25,
+00150 <a class="code" href="a05378.html#a442a125">KeyUP</a> =0x26,
+00151 <a class="code" href="a05378.html#a442a126">KeyRIGHT</a> =0x27,
+00152 <a class="code" href="a05378.html#a442a127">KeyDOWN</a> =0x28,
+00153 <a class="code" href="a05378.html#a442a128">KeySELECT</a> =0x29,
+00154 <a class="code" href="a05378.html#a442a129">KeyPRINT</a> =0x2A,
+00155 <a class="code" href="a05378.html#a442a130">KeyEXECUTE</a> =0x2B,
+00156 <a class="code" href="a05378.html#a442a131">KeySNAPSHOT</a> =0x2C,
+00157 <a class="code" href="a05378.html#a442a132">KeyINSERT</a> =0x2D,
+00158 <a class="code" href="a05378.html#a442a133">KeyDELETE</a> =0x2E,
+00159 <a class="code" href="a05378.html#a442a134">KeyHELP</a> =0x2F,
+00160 <a class="code" href="a05378.html#a442a135">KeyLWIN</a> =0x5B,
+00161 <a class="code" href="a05378.html#a442a136">KeyRWIN</a> =0x5C,
+00162 <a class="code" href="a05378.html#a442a137">KeyAPPS</a> =0x5D,
+00163 <a class="code" href="a05378.html#a442a138">KeyNUMPAD0</a> =0x60,
+00164 <a class="code" href="a05378.html#a442a139">KeyNUMPAD1</a> =0x61,
+00165 <a class="code" href="a05378.html#a442a140">KeyNUMPAD2</a> =0x62,
+00166 <a class="code" href="a05378.html#a442a141">KeyNUMPAD3</a> =0x63,
+00167 <a class="code" href="a05378.html#a442a142">KeyNUMPAD4</a> =0x64,
+00168 <a class="code" href="a05378.html#a442a143">KeyNUMPAD5</a> =0x65,
+00169 <a class="code" href="a05378.html#a442a144">KeyNUMPAD6</a> =0x66,
+00170 <a class="code" href="a05378.html#a442a145">KeyNUMPAD7</a> =0x67,
+00171 <a class="code" href="a05378.html#a442a146">KeyNUMPAD8</a> =0x68,
+00172 <a class="code" href="a05378.html#a442a147">KeyNUMPAD9</a> =0x69,
+00173 <a class="code" href="a05378.html#a442a148">KeyMULTIPLY</a> =0x6A,
+00174 <a class="code" href="a05378.html#a442a149">KeyADD</a> =0x6B,
+00175 <a class="code" href="a05378.html#a442a150">KeySEPARATOR</a> =0x6C,
+00176 <a class="code" href="a05378.html#a442a151">KeySUBTRACT</a> =0x6D,
+00177 <a class="code" href="a05378.html#a442a152">KeyDECIMAL</a> =0x6E,
+00178 <a class="code" href="a05378.html#a442a153">KeyDIVIDE</a> =0x6F,
+00179 <a class="code" href="a05378.html#a442a154">KeyF1</a> =0x70,
+00180 <a class="code" href="a05378.html#a442a155">KeyF2</a> =0x71,
+00181 <a class="code" href="a05378.html#a442a156">KeyF3</a> =0x72,
+00182 <a class="code" href="a05378.html#a442a157">KeyF4</a> =0x73,
+00183 <a class="code" href="a05378.html#a442a158">KeyF5</a> =0x74,
+00184 <a class="code" href="a05378.html#a442a159">KeyF6</a> =0x75,
+00185 <a class="code" href="a05378.html#a442a160">KeyF7</a> =0x76,
+00186 <a class="code" href="a05378.html#a442a161">KeyF8</a> =0x77,
+00187 <a class="code" href="a05378.html#a442a162">KeyF9</a> =0x78,
+00188 <a class="code" href="a05378.html#a442a163">KeyF10</a> =0x79,
+00189 <a class="code" href="a05378.html#a442a164">KeyF11</a> =0x7A,
+00190 <a class="code" href="a05378.html#a442a165">KeyF12</a> =0x7B,
+00191 <a class="code" href="a05378.html#a442a166">KeyF13</a> =0x7C,
+00192 <a class="code" href="a05378.html#a442a167">KeyF14</a> =0x7D,
+00193 <a class="code" href="a05378.html#a442a168">KeyF15</a> =0x7E,
+00194 <a class="code" href="a05378.html#a442a169">KeyF16</a> =0x7F,
+00195 <a class="code" href="a05378.html#a442a170">KeyF17</a> =0x80,
+00196 <a class="code" href="a05378.html#a442a171">KeyF18</a> =0x81,
+00197 <a class="code" href="a05378.html#a442a172">KeyF19</a> =0x82,
+00198 <a class="code" href="a05378.html#a442a173">KeyF20</a> =0x83,
+00199 <a class="code" href="a05378.html#a442a174">KeyF21</a> =0x84,
+00200 <a class="code" href="a05378.html#a442a175">KeyF22</a> =0x85,
+00201 <a class="code" href="a05378.html#a442a176">KeyF23</a> =0x86,
+00202 <a class="code" href="a05378.html#a442a177">KeyF24</a> =0x87,
+00203 <a class="code" href="a05378.html#a442a178">KeyNUMLOCK</a> =0x90,
+00204 <a class="code" href="a05378.html#a442a179">KeySCROLL</a> =0x91,
+00205 <a class="code" href="a05378.html#a442a180">KeyLSHIFT</a> =0xA0,
+00206 <a class="code" href="a05378.html#a442a181">KeyRSHIFT</a> =0xA1,
+00207 <a class="code" href="a05378.html#a442a182">KeyLCONTROL</a> =0xA2,
+00208 <a class="code" href="a05378.html#a442a183">KeyRCONTROL</a> =0xA3,
+00209 <a class="code" href="a05378.html#a442a184">KeyLMENU</a> =0xA4,
+00210 <a class="code" href="a05378.html#a442a185">KeyRMENU</a> =0xA5,
+00211 <a class="code" href="a05378.html#a442a186">KeySEMICOLON</a> =0xBA,
+00212 <a class="code" href="a05378.html#a442a187">KeyEQUALS</a> =0xBB,
+00213 <a class="code" href="a05378.html#a442a188">KeyCOMMA</a> =0xBC,
+00214 <a class="code" href="a05378.html#a442a189">KeyDASH</a> =0xBD,
+00215 <a class="code" href="a05378.html#a442a190">KeyPERIOD</a> =0xBE,
+00216 <a class="code" href="a05378.html#a442a191">KeySLASH</a> =0xBF,
+00217 <a class="code" href="a05378.html#a442a192">KeyTILDE</a> =0xC0,
+00218 <a class="code" href="a05378.html#a442a193">KeyLBRACKET</a> =0xDB,
+00219 <a class="code" href="a05378.html#a442a194">KeyBACKSLASH</a> =0xDC,
+00220 <a class="code" href="a05378.html#a442a195">KeyRBRACKET</a> =0xDD,
+00221 <a class="code" href="a05378.html#a442a196">KeyAPOSTROPHE</a> =0xDE,
+00222 <a class="code" href="a05378.html#a442a197">KeyPROCESSKEY</a> =0xE5,
+00223 <a class="code" href="a05378.html#a442a198">KeyATTN</a> =0xF6,
+00224 <a class="code" href="a05378.html#a442a199">KeyCRSEL</a> =0xF7,
+00225 <a class="code" href="a05378.html#a442a200">KeyEXSEL</a> =0xF8,
+00226 <a class="code" href="a05378.html#a442a201">KeyEREOF</a> =0xF9,
+00227 <a class="code" href="a05378.html#a442a202">KeyPLAY</a> =0xFA,
+00228 <a class="code" href="a05378.html#a442a203">KeyZOOM</a> =0xFB,
+00229 <a class="code" href="a05378.html#a442a204">KeyNONAME</a> =0xFC,
+00230 <a class="code" href="a05378.html#a442a205">KeyPA1</a> =0xFD,
+00231 <a class="code" href="a05378.html#a442a206">KeyOEM_CLEAR</a> =0xFE,
+00232 <a class="code" href="a05378.html#a442a207">KeyCount</a> =0xFF
+00233 };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a444" doxytag="NLMISC::TKeyButton" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a05378.html#a444">NLMISC::TKeyButton</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="a444a215" doxytag="noKeyButton" ></a>noKeyButton</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a444a216" doxytag="ctrlKeyButton" ></a>ctrlKeyButton</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a444a217" doxytag="shiftKeyButton" ></a>shiftKeyButton</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a444a218" doxytag="altKeyButton" ></a>altKeyButton</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05691.html#l00246">246</a> of file <a class="el" href="a05691.html">events.h</a>.
+<p>
+<div class="fragment"><pre>00247 {
+00248 <a class="code" href="a05378.html#a444a215">noKeyButton</a> =0x0,
+00249 <a class="code" href="a05378.html#a444a216">ctrlKeyButton</a> =0x8,
+00250 <a class="code" href="a05378.html#a444a217">shiftKeyButton</a> =0x10,
+00251 <a class="code" href="a05378.html#a444a218">altKeyButton</a> =0x20
+00252 };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a443" doxytag="NLMISC::TMouseButton" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a05378.html#a443">NLMISC::TMouseButton</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="a443a208" doxytag="noButton" ></a>noButton</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a443a209" doxytag="leftButton" ></a>leftButton</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a443a210" doxytag="middleButton" ></a>middleButton</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a443a211" doxytag="rightButton" ></a>rightButton</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a443a212" doxytag="ctrlButton" ></a>ctrlButton</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a443a213" doxytag="shiftButton" ></a>shiftButton</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a443a214" doxytag="altButton" ></a>altButton</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05691.html#l00235">235</a> of file <a class="el" href="a05691.html">events.h</a>.
+<p>
+<div class="fragment"><pre>00236 {
+00237 <a class="code" href="a05378.html#a443a208">noButton</a> =0x0,
+00238 <a class="code" href="a05378.html#a443a209">leftButton</a> =0x1,
+00239 <a class="code" href="a05378.html#a443a210">middleButton</a> =0x2,
+00240 <a class="code" href="a05378.html#a443a211">rightButton</a> =0x4,
+00241 <a class="code" href="a05378.html#a443a212">ctrlButton</a> =0x8,
+00242 <a class="code" href="a05378.html#a443a213">shiftButton</a> =0x10,
+00243 <a class="code" href="a05378.html#a443a214">altButton</a> =0x20
+00244 };
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a445" doxytag="NLMISC::TReportResult" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> enum <a class="el" href="a05378.html#a445">NLMISC::TReportResult</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Display a custom message box.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>title</em>&nbsp;</td><td>set the title of the report. If empty, it'll display "NeL report". </td></tr>
+ <tr><td valign=top><em>header</em>&nbsp;</td><td>message displayed before the edit text box. If empty, it displays the default message. </td></tr>
+ <tr><td valign=top><em>body</em>&nbsp;</td><td>message displayed in the edit text box. This string will be sent by email. </td></tr>
+ <tr><td valign=top><em>debugButton</em>&nbsp;</td><td>0 for disabling it, 1 for enable with default behaviors (generate a breakpoint), 2 for enable with no behavior</td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>the button clicked or error </dd></dl>
+<dl compact><dt><b>Enumeration values: </b></dt><dd>
+<table border=0 cellspacing=2 cellpadding=0>
+<tr><td valign=top><em><a class="anchor" name="a445a228" doxytag="ReportDebug" ></a>ReportDebug</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a445a229" doxytag="ReportIgnore" ></a>ReportIgnore</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a445a230" doxytag="ReportQuit" ></a>ReportQuit</em>&nbsp;</td><td>
+</td></tr>
+<tr><td valign=top><em><a class="anchor" name="a445a231" doxytag="ReportError" ></a>ReportError</em>&nbsp;</td><td>
+</td></tr>
+</table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a06332.html#l00046">46</a> of file <a class="el" href="a06332.html">report.h</a>.
+<p>
+<div class="fragment"><pre>00046 { <a class="code" href="a05378.html#a445a228">ReportDebug</a>, <a class="code" href="a05378.html#a445a229">ReportIgnore</a>, <a class="code" href="a05378.html#a445a230">ReportQuit</a>, <a class="code" href="a05378.html#a445a231">ReportError</a> };
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Function Documentation</h2>
+<a class="anchor" name="a356" doxytag="NLMISC::addSlashR" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NLMISC::addSlashR </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06464.html#l00035">35</a> of file <a class="el" href="a06464.html">string_common.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00036 {
+00037 string formatedStr;
+00038 <span class="comment">// replace \n with \r\n</span>
+00039 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i &lt; str.size(); i++)
+00040 {
+00041 <span class="keywordflow">if</span> (str[i] == <span class="charliteral">'\n'</span> &amp;&amp; i &gt; 0 &amp;&amp; str[i-1] != <span class="charliteral">'\r'</span>)
+00042 {
+00043 formatedStr += <span class="charliteral">'\r'</span>;
+00044 }
+00045 formatedStr += str[i];
+00046 }
+00047 <span class="keywordflow">return</span> formatedStr;
+00048 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a358" doxytag="NLMISC::atoihex" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NLMISC::atoihex </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ident</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<dl compact><dt><b><a class="el" href="todo.html#_todo000031">Todo:</a></b></dt><dd>cado: <a class="el" href="a03452.html">NLMISC::CStringStream</a>: Use strtoul() functions instead of atoi(), to handle conversion errors</dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06471.html#l00102">102</a> of file <a class="el" href="a06471.html">string_stream.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06471.html#l00375">NLMISC::CStringStream::serialHex()</a>, and <a class="el" href="a05979.html#l00929">NLMISC::CMemStream::serialHex()</a>.
+<p>
+<div class="fragment"><pre>00103 {
+00104 <span class="keywordtype">int</span> number;
+00105 sscanf( ident, <span class="stringliteral">"%x"</span>, &amp;number );
+00106 <span class="keywordflow">return</span> number;
+00107 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a260" doxytag="NLMISC::atoiInt64" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a12">sint64</a> NLMISC::atoiInt64 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>ident</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a12">sint64</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>base</em> = 10</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert a string into an sint64 (same as atoi() function but for 64 bits intergers).
+<p>
+old sameh algo
+<p>
+Definition at line <a class="el" href="a05586.html#l00178">178</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00101">sint64</a>.
+<p>
+Referenced by <a class="el" href="a05586.html#l00388">bytesToHumanReadable()</a>.
+<p>
+<div class="fragment"><pre>00179 {
+00180 <a class="code" href="a04558.html#a12">sint64</a> number = 0;
+00181 <span class="keywordtype">bool</span> neg = <span class="keyword">false</span>;
+00182
+00183 <span class="comment">// NULL string</span>
+00184 <a class="code" href="a04199.html#a6">nlassert</a> (ident != NULL);
+00185
+00186 <span class="comment">// empty string</span>
+00187 <span class="keywordflow">if</span> (*ident == <span class="charliteral">'\0'</span>) <span class="keywordflow">goto</span> end;
+00188
+00189 <span class="comment">// + sign</span>
+00190 <span class="keywordflow">if</span> (*ident == <span class="charliteral">'+'</span>) ident++;
+00191
+00192 <span class="comment">// - sign</span>
+00193 <span class="keywordflow">if</span> (*ident == <span class="charliteral">'-'</span>) { neg = <span class="keyword">true</span>; ident++; }
+00194
+00195 <span class="keywordflow">while</span> (*ident != <span class="charliteral">'\0'</span>)
+00196 {
+00197 <span class="keywordflow">if</span> (isdigit(*ident))
+00198 {
+00199 number *= base;
+00200 number += (*ident)-<span class="charliteral">'0'</span>;
+00201 }
+00202 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base &gt; 10 &amp;&amp; islower(*ident))
+00203 {
+00204 number *= base;
+00205 number += (*ident)-<span class="charliteral">'a'</span>+10;
+00206 }
+00207 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (base &gt; 10 &amp;&amp; isupper(*ident))
+00208 {
+00209 number *= base;
+00210 number += (*ident)-<span class="charliteral">'A'</span>+10;
+00211 }
+00212 <span class="keywordflow">else</span>
+00213 {
+00214 <span class="keywordflow">goto</span> end;
+00215 }
+00216 ident++;
+00217 }
+00218 end:
+00219 <span class="keywordflow">if</span> (neg) number = -number;
+00220 <span class="keywordflow">return</span> number;
+00221
+00223 <span class="comment">/* uint64 k = 0;</span>
+00224 <span class="comment"></span>
+00225 <span class="comment"> while (*ident != '\0')</span>
+00226 <span class="comment"> {</span>
+00227 <span class="comment"> switch(*(ident++))</span>
+00228 <span class="comment"> {</span>
+00229 <span class="comment"> case '0':</span>
+00230 <span class="comment"> k +=0;</span>
+00231 <span class="comment"> break;</span>
+00232 <span class="comment"> case '1':</span>
+00233 <span class="comment"> k +=1;</span>
+00234 <span class="comment"> break;</span>
+00235 <span class="comment"> case '2':</span>
+00236 <span class="comment"> k +=2;</span>
+00237 <span class="comment"> break;</span>
+00238 <span class="comment"> case '3':</span>
+00239 <span class="comment"> k +=3;</span>
+00240 <span class="comment"> break;</span>
+00241 <span class="comment"> case '4':</span>
+00242 <span class="comment"> k +=4;</span>
+00243 <span class="comment"> break;</span>
+00244 <span class="comment"> case '5':</span>
+00245 <span class="comment"> k +=5;</span>
+00246 <span class="comment"> break;</span>
+00247 <span class="comment"> case '6':</span>
+00248 <span class="comment"> k +=6;</span>
+00249 <span class="comment"> break;</span>
+00250 <span class="comment"> case '7':</span>
+00251 <span class="comment"> k +=7;</span>
+00252 <span class="comment"> break;</span>
+00253 <span class="comment"> case '8':</span>
+00254 <span class="comment"> k +=8;</span>
+00255 <span class="comment"> break;</span>
+00256 <span class="comment"> case '9':</span>
+00257 <span class="comment"> k +=9;</span>
+00258 <span class="comment"> break;</span>
+00259 <span class="comment"> case 'a':</span>
+00260 <span class="comment"> k +=10;</span>
+00261 <span class="comment"> break;</span>
+00262 <span class="comment"> case 'b':</span>
+00263 <span class="comment"> k +=11;</span>
+00264 <span class="comment"> break;</span>
+00265 <span class="comment"> case 'c':</span>
+00266 <span class="comment"> k +=12;</span>
+00267 <span class="comment"> break;</span>
+00268 <span class="comment"> case 'd':</span>
+00269 <span class="comment"> k +=13;</span>
+00270 <span class="comment"> break;</span>
+00271 <span class="comment"> case 'e':</span>
+00272 <span class="comment"> k +=14;</span>
+00273 <span class="comment"> break;</span>
+00274 <span class="comment"> case 'f':</span>
+00275 <span class="comment"> k +=15;</span>
+00276 <span class="comment"> break;</span>
+00277 <span class="comment"></span>
+00278 <span class="comment"> case 'A':</span>
+00279 <span class="comment"> k +=10;</span>
+00280 <span class="comment"> break;</span>
+00281 <span class="comment"> case 'B':</span>
+00282 <span class="comment"> k +=11;</span>
+00283 <span class="comment"> break;</span>
+00284 <span class="comment"> case 'C':</span>
+00285 <span class="comment"> k +=12;</span>
+00286 <span class="comment"> break;</span>
+00287 <span class="comment"> case 'D':</span>
+00288 <span class="comment"> k +=13;</span>
+00289 <span class="comment"> break;</span>
+00290 <span class="comment"> case 'E':</span>
+00291 <span class="comment"> k +=14;</span>
+00292 <span class="comment"> break;</span>
+00293 <span class="comment"> case 'F':</span>
+00294 <span class="comment"> k +=15;</span>
+00295 <span class="comment"> break;</span>
+00296 <span class="comment"></span>
+00297 <span class="comment"> case 0:</span>
+00298 <span class="comment"> return k;</span>
+00299 <span class="comment"> break;</span>
+00300 <span class="comment"> }</span>
+00301 <span class="comment"> if(*ident != 0) k *= base;</span>
+00302 <span class="comment"> }</span>
+00303 <span class="comment"></span>
+00304 <span class="comment"> return k;</span>
+00305 <span class="comment">*/</span>
+00306 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a333" doxytag="NLMISC::atoui" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NLMISC::atoui </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ident</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05800.html#l00481">481</a> of file <a class="el" href="a05800.html">i_xml.cpp</a>.
+<p>
+References <a class="el" href="a05800.html#l00481">atoui()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05800.html#l00481">atoui()</a>, <a class="el" href="a06471.html#l00168">NLMISC::CStringStream::serial()</a>, and <a class="el" href="a05979.html#l00642">NLMISC::CMemStream::serial()</a>.
+<p>
+<div class="fragment"><pre>00482 {
+00483 <span class="keywordflow">return</span> (<a class="code" href="a04558.html#a11">uint32</a>) strtoul (ident, NULL, 10);
+00484 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a299" doxytag="NLMISC::beep" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::beep </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>freq</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>duration</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00974">974</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>.
+<p>
+<div class="fragment"><pre>00975 {
+00976 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00977 <span class="preprocessor"></span> Beep( freq, duration );
+00978 <span class="preprocessor">#endif</span>
+00979 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a253" doxytag="NLMISC::blend" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> blend </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>n0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>n1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>coef0</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="a252" doxytag="NLMISC::blendFromui" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void blendFromui </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03337.html">NLMISC::CRGBA</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>coef</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="a336" doxytag="NLMISC::BuildHermiteVector" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void BuildHermiteVector </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>P0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>P1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>T0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a03660.html">NLMISC::CVector2f</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>T1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a03660.html">NLMISC::CVector2f</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>lambda</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+build some hermite spline value, with the given points and tangents
+<p>
+just avoid some ctor calls here...
+<p>
+Definition at line <a class="el" href="a06043.html#l00033">33</a> of file <a class="el" href="a06043.html">mouse_smoother.cpp</a>.
+<p>
+References <a class="el" href="a06677.html#l00110">NLMISC::CVector2f::set()</a>, <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::x</a>, and <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::y</a>.
+<p>
+Referenced by <a class="el" href="a06043.html#l00072">NLMISC::CMouseSmoother::samplePos()</a>.
+<p>
+<div class="fragment"><pre>00040 {
+00041 <span class="keyword">const</span> <span class="keywordtype">float</span> lambda2 = lambda * lambda;
+00042 <span class="keyword">const</span> <span class="keywordtype">float</span> lambda3 = lambda2 * lambda;
+00043 <span class="keyword">const</span> <span class="keywordtype">float</span> h1 = 2 * lambda3 - 3 * lambda2 + 1;
+00044 <span class="keyword">const</span> <span class="keywordtype">float</span> h2 = - 2 * lambda3 + 3 * lambda2;
+00045 <span class="keyword">const</span> <span class="keywordtype">float</span> h3 = lambda3 - 2 * lambda2 + lambda;
+00046 <span class="keyword">const</span> <span class="keywordtype">float</span> h4 = lambda3 - lambda2;
+00048 dest.<a class="code" href="a03660.html#NLMISC_1_1CVector2fz2067_6">set</a>(h1 * P0.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo0">x</a> + h2 * P1.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo0">x</a> + h3 * T0.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo0">x</a> + h4 * T1.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo0">x</a>,
+00049 h1 * P0.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo1">y</a> + h2 * P1.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo1">y</a> + h3 * T0.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo1">y</a> + h4 * T1.<a class="code" href="a03660.html#NLMISC_1_1CVector2fo1">y</a>);
+00050 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a266" doxytag="NLMISC::bytesToHumanReadable" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NLMISC::bytesToHumanReadable </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>bytes</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00405">405</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a06229.html#l02652">toString()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00406 {
+00407 <span class="keyword">static</span> <span class="keywordtype">char</span> *divTable[]= { <span class="stringliteral">"b"</span>, <span class="stringliteral">"kb"</span>, <span class="stringliteral">"mb"</span>, <span class="stringliteral">"gb"</span> };
+00408 <a class="code" href="a04558.html#a15">uint</a> div = 0;
+00409 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a643">res</a> = bytes;
+00410 <a class="code" href="a04558.html#a11">uint32</a> newres = <a class="code" href="a04223.html#a643">res</a>;
+00411 <span class="keywordflow">while</span> (<span class="keyword">true</span>)
+00412 {
+00413 newres /= 1024;
+00414 <span class="keywordflow">if</span>(newres &lt; 8 || div &gt; 2)
+00415 <span class="keywordflow">break</span>;
+00416 div++;
+00417 <a class="code" href="a04223.html#a643">res</a> = newres;
+00418 }
+00419 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a> (<span class="stringliteral">"%u%s"</span>, res, divTable[div]);
+00420 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a265" doxytag="NLMISC::bytesToHumanReadable" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NLMISC::bytesToHumanReadable </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>bytes</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert a number in bytes into a string that is easily readable by an human, for example 105123 -&gt; "102kb".
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00388">388</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05586.html#l00178">atoiInt64()</a>, <a class="el" href="a05981.html#l00107">NL_I64</a>, <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a06229.html#l02652">toString()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00102">uint64</a>.
+<p>
+Referenced by <a class="el" href="a05586.html#l00454">NLMISC_COMMAND()</a>, and <a class="el" href="a06479.html#l00706">NLMISC_DYNVARIABLE()</a>.
+<p>
+<div class="fragment"><pre>00389 {
+00390 <span class="keyword">static</span> <span class="keywordtype">char</span> *divTable[]= { <span class="stringliteral">"b"</span>, <span class="stringliteral">"kb"</span>, <span class="stringliteral">"mb"</span>, <span class="stringliteral">"gb"</span> };
+00391 <a class="code" href="a04558.html#a15">uint</a> div = 0;
+00392 <a class="code" href="a04558.html#a13">uint64</a> <a class="code" href="a04223.html#a643">res</a> = <a class="code" href="a05378.html#a260">atoiInt64</a>(bytes.c_str());
+00393 <a class="code" href="a04558.html#a13">uint64</a> newres = <a class="code" href="a04223.html#a643">res</a>;
+00394 <span class="keywordflow">while</span> (<span class="keyword">true</span>)
+00395 {
+00396 newres /= 1024;
+00397 <span class="keywordflow">if</span>(newres &lt; 8 || div &gt; 2)
+00398 <span class="keywordflow">break</span>;
+00399 div++;
+00400 <a class="code" href="a04223.html#a643">res</a> = newres;
+00401 }
+00402 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a> (<span class="stringliteral">"%"</span>NL_I64<span class="stringliteral">"u%s"</span>, res, divTable[div]);
+00403 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a320" doxytag="NLMISC::cbInvalidEntityNamesFilename" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void cbInvalidEntityNamesFilename </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>invalidEntityNamesFilename</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05668.html#l00370">370</a> of file <a class="el" href="a05668.html">eid_translator.cpp</a>.
+<p>
+References <a class="el" href="a05669.html#l00138">NLMISC::CEntityIdTranslator::InvalidEntityNames</a>, and <a class="el" href="a05622.html#l00135">nlwarning</a>.
+<p>
+Referenced by <a class="el" href="a05668.html#l00405">NLMISC::CEntityIdTranslator::load()</a>.
+<p>
+<div class="fragment"><pre>00371 {
+00372 CEntityIdTranslator::getInstance()-&gt;InvalidEntityNames.clear ();
+00373
+00374 string fn = CPath::lookup(invalidEntityNamesFilename, <span class="keyword">false</span>);
+00375
+00376 <span class="keywordflow">if</span> (fn.empty())
+00377 {
+00378 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"EIT: Can't load filename '%s' for invalid entity names filename (not found)"</span>, invalidEntityNamesFilename.c_str());
+00379 <span class="keywordflow">return</span>;
+00380 }
+00381
+00382 FILE *fp = fopen (fn.c_str(), <span class="stringliteral">"r"</span>);
+00383 <span class="keywordflow">if</span> (fp == NULL)
+00384 {
+00385 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"EIT: Can't load filename '%s' for invalid entity names filename"</span>, fn.c_str());
+00386 <span class="keywordflow">return</span>;
+00387 }
+00388
+00389 <span class="keywordflow">while</span> (<span class="keyword">true</span>)
+00390 {
+00391 <span class="keywordtype">char</span> str[512];
+00392 fgets(str, 511, fp);
+00393 <span class="keywordflow">if</span>(feof(fp))
+00394 <span class="keywordflow">break</span>;
+00395 <span class="keywordflow">if</span> (strlen(str) &gt; 0)
+00396 {
+00397 str[strlen(str)-1] = <span class="charliteral">'\0'</span>;
+00398 CEntityIdTranslator::getInstance()-&gt;InvalidEntityNames.push_back(str);
+00399 }
+00400 }
+00401
+00402 fclose (fp);
+00403 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a363" doxytag="NLMISC::cbVarChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void cbVarChanged </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a02402.html">CConfigFile::CVar</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>cvar</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06665.html#l00036">36</a> of file <a class="el" href="a06665.html">variable.cpp</a>.
+<p>
+References <a class="el" href="a05597.html#l00097">NLMISC::CConfigFile::CVar::asString()</a>, <a class="el" href="a03648.html#NLMISC_1_1IVariablea1">NLMISC::IVariable::fromString()</a>, <a class="el" href="a05598.html#l00188">NLMISC::CConfigFile::CVar::Name</a>, and <a class="el" href="a05622.html#l00111">nlinfo</a>.
+<p>
+Referenced by <a class="el" href="a06665.html#l00050">NLMISC::IVariable::init()</a>.
+<p>
+<div class="fragment"><pre>00037 {
+00038 <span class="keywordflow">for</span> (ICommand::TCommand::iterator comm = (*ICommand::Commands).begin(); comm != (*ICommand::Commands).end(); comm++)
+00039 {
+00040 <span class="keywordflow">if</span> ((*comm).second-&gt;Type == ICommand::Variable &amp;&amp; (*comm).second-&gt;_CommandName == cvar.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a>)
+00041 {
+00042 <a class="code" href="a03648.html">IVariable</a> *var = (<a class="code" href="a03648.html">IVariable</a> *)((*comm).second);
+00043 string val = cvar.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1933_3">asString</a>();
+00044 <a class="code" href="a04199.html#a1">nlinfo</a> (<span class="stringliteral">"VAR: Setting variable '%s' with value '%s' from config file"</span>, cvar.<a class="code" href="a02402.html#NLMISC_1_1CConfigFile_1_1CVarz1937_4">Name</a>.c_str(), val.c_str());
+00045 var-&gt;<a class="code" href="a03648.html#NLMISC_1_1IVariablea1">fromString</a>(val, <span class="keyword">true</span>);
+00046 }
+00047 }
+00048 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a297" doxytag="NLMISC::changeLogDirectory" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::changeLogDirectory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>dir</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00893">893</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05621.html#l00099">fd</a>, and <a class="el" href="a05637.html#l00350">NLMISC::CFileDisplayer::setParam()</a>.
+<p>
+Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>.
+<p>
+<div class="fragment"><pre>00894 {
+00895 <span class="keywordflow">if</span> (<a class="code" href="a05378.html#a18">fd</a> == NULL)<span class="keywordflow">return</span>;
+00896 string p = CPath::standardizePath(dir) + <span class="stringliteral">"log.log"</span>;
+00897 <a class="code" href="a05378.html#a18">fd</a>-&gt;<a class="code" href="a02525.html#NLMISC_1_1CFileDisplayera3">setParam</a>(p);
+00898 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a327" doxytag="NLMISC::CHeapAllocatorOutputError" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void CHeapAllocatorOutputError </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05776.html#l00059">59</a> of file <a class="el" href="a05776.html">misc/heap_allocator.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05776.html#l01916">NLMISC::CHeapAllocator::debugReportMemoryLeak()</a>.
+<p>
+<div class="fragment"><pre>00060 {
+00061 fprintf (stderr, str);
+00062 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00063 <span class="preprocessor"></span> OutputDebugString (str);
+00064 <span class="preprocessor">#endif // NL_OS_WINDOWS</span>
+00065 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a374" doxytag="NLMISC::clamp" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T, class U, class V&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> void clamp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const U &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>min</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const V &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>max</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Force v to be inside the interval [min,max]. Warning: implicit cast are made if T,U or V are different.
+<p>
+Definition at line <a class="el" href="a05587.html#l00115">115</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05484.html#l00038">min</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+Referenced by <a class="el" href="a06729.html#l00200">NL3D::CVisualCollisionManager::CStaticGrid::add()</a>, <a class="el" href="a05937.html#l00411">NL3D::CLodCharacterShape::addAnim()</a>, <a class="el" href="a06302.html#l00414">NL3D::CQuadGridClipCluster::addModel()</a>, <a class="el" href="a05471.html#l00149">NLSOUND::CBackgroundSoundManager::addSound()</a>, <a class="el" href="a06157.html#l01543">NL3D::CPatch::appendTileLightInfluences()</a>, <a class="el" href="a06011.html#l00417">NL3D::CMeshMRMSkinnedGeom::applyGeomorphWithVBHardPtr()</a>, <a class="el" href="a06005.html#l00498">NL3D::CMeshMRMGeom::applyGeomorphWithVBHardPtr()</a>, <a class="el" href="a06055.html#l01709">NL3D::CMRMBuilder::attToColor()</a>, <a class="el" href="a06024.html#l00297">NL3D::CMeshVPWindTree::begin()</a>, <a class="el" href="a06024.html#l00407">NL3D::CMeshVPWindTree::beginMBRInstance()</a>, <a class="el" href="a06521.html#l00041">NL3D::CTextureFile::buildBitmapFromFile()</a>, <a class="el" href="a06339.html#l00686">NLMISC::CRGBA::buildFromHLS()</a>, <a class="el" href="a06768.html#l00296">NL3D::CZoneLighter::calcSkyContribution()</a>, <a class="el" href="a06685.html#l00152">NLMISC::CVectorD::cartesianToSpheric()</a>, <a class="el" href="a06682.html#l00161">NLMISC::CVector::cartesianToSpheric()</a>, <a class="el" href="a05706.html#l00047">NL3D::CFastHLSModifier::CFastHLSModifier()</a>, <a class="el" href="a06302.html#l00193">NL3D::CQuadGridClipClusterQTreeNode::clip()</a>, <a class="el" href="a05642.html#l02111">NL3D::CDriverGL::clipRect()</a>, <a class="el" href="a06158.html#l00136">NL3D::CPatch::computeDisplaceRawInteger()</a>, <a class="el" href="a06161.html#l01329">NL3D::CPatch::computeGeomorphAlphaFar1VertexListVB()</a>, <a class="el" href="a06497.html#l00113">NL3D::CTessVertex::computeGeomPos()</a>, <a class="el" href="a06179.html#l00273">NL3D::CPointLight::computeLinearAttenuation()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a05923.html#l00067">NL3D::CLoadBalancingGroup::computeRatioAndSmooth()</a>, <a class="el" href="a06257.html#l00082">NL3D::CPSParticle::computeSrcStep()</a>, <a class="el" href="a06157.html#l00601">NL3D::CPatch::computeTileLightmapPixelAutomatic()</a>, <a class="el" href="a05706.html#l00414">NL3D::CFastHLSModifier::convertRGBABitmap()</a>, <a class="el" href="a05729.html#l00477">NLGEORGES::CFormElm::convertValue()</a>, <a class="el" href="a06559.html#l00399">NL3D::copyToValue()</a>, <a class="el" href="a06310.html#l00062">NL3D::CRadixSort&lt; T &gt;::CRadixSort()</a>, <a class="el" href="a06546.html#l00037">NL3D::CTileLumel::createUncompressed()</a>, <a class="el" href="a06517.html#l00101">NL3D::CTextureEmboss::doGenerate()</a>, <a class="el" href="a05761.html#l02028">NLPACS::CGlobalRetriever::doMove()</a>, <a class="el" href="a06105.html#l00309">NLMISC::CNoiseColorGradient::eval()</a>, <a class="el" href="a06566.html#l00401">CTrackKeyFramerTCB&lt; CKeyTCBQuat, NLMISC::CAngleAxis &gt;::evalKey()</a>, <a class="el" href="a06566.html#l00223">CTrackKeyFramerTCB&lt; CKeyT, T &gt;::evalKey()</a>, <a class="el" href="a06559.html#l00576">NL3D::CTrackKeyFramerLinear&lt; CKeyQuat, CQuat &gt;::evalKey()</a>, <a class="el" href="a06559.html#l00526">NL3D::CTrackKeyFramerLinear&lt; CKeyRGBA, NLMISC::CRGBA &gt;::evalKey()</a>, <a class="el" href="a06557.html#l00147">CTrackKeyFramerBezier&lt; CKeyBezierQuat, CQuat &gt;::evalKey()</a>, <a class="el" href="a06557.html#l00068">CTrackKeyFramerBezier&lt; CKeyT, T &gt;::evalKey()</a>, <a class="el" href="a06560.html#l00211">NL3D::CTrackSampledCommon::evalTime()</a>, <a class="el" href="a06483.html#l00062">NL3D::CTargetAnimCtrl::execute()</a>, <a class="el" href="a06163.html#l00641">NL3D::fastClamp01()</a>, <a class="el" href="a05426.html#l00122">fastClamp8()</a>, <a class="el" href="a05652.html#l01175">NL3D::CDriverGL::forceTextureResize()</a>, <a class="el" href="a06163.html#l00214">NL3D::CPatchDLMContext::generate()</a>, <a class="el" href="a06162.html#l00050">NL3D::CPatch::generateTileVegetable()</a>, <a class="el" href="a05565.html#l01155">NLSOUND::CClusteredSound::getAABoxNearestPos()</a>, <a class="el" href="a05937.html#l00572">NL3D::CLodCharacterShape::getAnimKey()</a>, <a class="el" href="a05486.html#l02459">NLMISC::CBitmap::getColorInterp()</a>, <a class="el" href="a06060.html#l00101">NL3D::CMRMLevelDetail::getLevelDetailFromPolyCount()</a>, <a class="el" href="a05447.html#l00316">NL3D::CAnimationPlaylist::getLocalTime()</a>, <a class="el" href="a06157.html#l01499">NL3D::CPatch::getLumel()</a>, <a class="el" href="a06768.html#l01390">NL3D::CZoneLighter::getMaxPhi()</a>, <a class="el" href="a05648.html#l01266">NL3D::CDriverGL::getSpecularCubeMap()</a>, <a class="el" href="a06475.html#l00062">NL3D::CSurfaceLightGrid::getStaticLightSetup()</a>, <a class="el" href="a06155.html#l00579">NL3D::CPatch::getTesselatedPos()</a>, <a class="el" href="a06768.html#l01820">NL3D::CZoneLighter::getTexture()</a>, <a class="el" href="a06155.html#l02265">NL3D::CPatch::getTileElement()</a>, <a class="el" href="a06237.html#l00105">NL3D::CPSFloatCurveFunctor::getValue()</a>, <a class="el" href="a06722.html#l00044">NL3D::CViewport::init()</a>, <a class="el" href="a06493.html#l00150">NL3D::CTessFacePriorityList::init()</a>, <a class="el" href="a06768.html#l02927">NL3D::CZoneLighter::lightWater()</a>, <a class="el" href="a05471.html#l00334">NLSOUND::CBackgroundSoundManager::loadSoundsFromPrimitives()</a>, <a class="el" href="a05532.html#l00131">NL3D::CCameraCol::minimizeDistanceAgainstTri()</a>, <a class="el" href="a06302.html#l00268">NL3D::CQuadGridClipClusterQTreeNode::noFrustumClip()</a>, <a class="el" href="a06511.html#l00099">NL3D::NormalizeDsDt()</a>, <a class="el" href="a06511.html#l00182">NL3D::NormalizeDsDtAsRGBA()</a>, <a class="el" href="a05824.html#l01140">NL3D::CInstanceLighter::CPredPointLightToPoint::operator()()</a>, <a class="el" href="a06156.html#l00108">NL3D::CVector3s::pack()</a>, <a class="el" href="a06768.html#l01293">NL3D::CZoneLighter::processCalc()</a>, <a class="el" href="a06370.html#l00189">NL3D::CShadowMap::processFades()</a>, <a class="el" href="a06768.html#l03346">NL3D::CZoneLighter::processZonePointLightRT()</a>, <a class="el" href="a06207.html#l01167">NLPACS::CPrimitiveWorldImage::reaction()</a>, <a class="el" href="a06195.html#l01396">NLLIGO::IPrimitive::read()</a>, <a class="el" href="a06201.html#l00091">ReadColor()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a06348.html#l00300">NL3D::CScene::render()</a>, <a class="el" href="a06372.html#l00234">NL3D::CShadowMapManager::renderGenerate()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a06768.html#l00444">RenderTriangle()</a>, <a class="el" href="a06043.html#l00072">NLMISC::CMouseSmoother::samplePos()</a>, <a class="el" href="a06729.html#l00279">NL3D::CVisualCollisionManager::CStaticGrid::select()</a>, <a class="el" href="a06165.html#l00175">NL3D::CPatchUVLocator::selectPatch()</a>, <a class="el" href="a06743.html#l00049">NL3D::UWaterHeightMapManager::setBlendFactor()</a>, <a class="el" href="a06429.html#l01423">NLSOUND::CSourceDSound::setGain()</a>, <a class="el" href="a06142.html#l01398">NL3D::CParticleSystem::setGlobalValue()</a>, <a class="el" href="a05901.html#l00128">NL3D::CLightingManager::setLightTransitionThreshold()</a>, <a class="el" href="a06142.html#l01455">NL3D::CParticleSystem::setMaxDistLODBias()</a>, <a class="el" href="a06011.html#l01960">NL3D::CMeshMRMSkinnedGeom::CPackedVertexBuffer::CPackedVertex::setNormal()</a>, <a class="el" href="a06011.html#l01977">NL3D::CMeshMRMSkinnedGeom::CPackedVertexBuffer::CPackedVertex::setPos()</a>, <a class="el" href="a06729.html#l00121">NL3D::CVisualCollisionManager::setSunContributionPower()</a>, <a class="el" href="a05642.html#l01874">NL3D::CDriverGL::setupScissor()</a>, <a class="el" href="a06179.html#l00159">NL3D::CPointLight::setupSpotAngle()</a>, <a class="el" href="a05862.html#l02650">NL3D::CLandscape::setupStaticLight()</a>, <a class="el" href="a05652.html#l00361">NL3D::CDriverGL::setupTextureEx()</a>, <a class="el" href="a05642.html#l01821">NL3D::CDriverGL::setupViewport()</a>, <a class="el" href="a06143.html#l00336">NL3D::CParticleSystem::setUserParam()</a>, <a class="el" href="a06011.html#l01994">NL3D::CMeshMRMSkinnedGeom::CPackedVertexBuffer::CPackedVertex::setUV()</a>, <a class="el" href="a06011.html#l02008">NL3D::CMeshMRMSkinnedGeom::CPackedVertexBuffer::CPackedVertex::setWeight()</a>, <a class="el" href="a06698.html#l02192">NL3D::CVegetableManager::setWind()</a>, <a class="el" href="a06244.html#l00363">NL3D::CPSLight::show()</a>, <a class="el" href="a06142.html#l00362">NL3D::CParticleSystem::step()</a>, <a class="el" href="a06393.html#l00658">NL3D::CSkeletonModel::traverseAnimDetail()</a>, <a class="el" href="a06003.html#l00103">NL3D::CMeshMorpher::update()</a>, <a class="el" href="a05437.html#l00197">NL3D::CAnimatedMaterial::update()</a>, <a class="el" href="a05471.html#l00861">NLSOUND::CBackgroundSoundManager::updateBackgroundStatus()</a>, <a class="el" href="a06275.html#l00610">NL3D::CPSRibbonBase::updateLOD()</a>, <a class="el" href="a06142.html#l00324">NL3D::CParticleSystem::updateLODRatio()</a>, <a class="el" href="a06003.html#l00236">NL3D::CMeshMorpher::updateSkinned()</a>, <a class="el" href="a06429.html#l01608">NLSOUND::CSourceDSound::updateVolume()</a>, and <a class="el" href="a05652.html#l00807">NL3D::CDriverGL::uploadTexture()</a>.
+<p>
+<div class="fragment"><pre>00116 {
+00117 <a class="code" href="a04223.html#a576">v</a> = (<a class="code" href="a04223.html#a576">v</a> &lt; <a class="code" href="a04061.html#a0">min</a>) ? <a class="code" href="a04061.html#a0">min</a> : <a class="code" href="a04223.html#a576">v</a>;
+00118 <a class="code" href="a04223.html#a576">v</a> = (<a class="code" href="a04223.html#a576">v</a> &gt; max) ? max : <a class="code" href="a04223.html#a576">v</a>;
+00119 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a364" doxytag="NLMISC::computeBilinear" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T, class U&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> T computeBilinear </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v2</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v3</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const U &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>s</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const U &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>t</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+bilinear of 4 values v3 v2 +-----+ | | | | +-----+ v0 v1<p>
+T ^ | | +---&gt; S
+<p>
+Definition at line <a class="el" href="a05426.html#l00055">55</a> of file <a class="el" href="a05426.html">algo.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>, and <a class="el" href="a05646.html#l00985">t</a>.
+<p>
+<div class="fragment"><pre>00056 {
+00057 T h0 = <a class="code" href="a04223.html#a627">t</a> * v3 + ((U) 1 - <a class="code" href="a04223.html#a627">t</a>) * v0;
+00058 T h1 = <a class="code" href="a04223.html#a627">t</a> * v2 + ((U) 1 - <a class="code" href="a04223.html#a627">t</a>) * v1;
+00059 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a626">s</a> * h1 + ((U) 1 - <a class="code" href="a04223.html#a626">s</a>) * h0;
+00060 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a381" doxytag="NLMISC::contReset" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> void contReset </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">T &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>a</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<code>contReset</code> take a container like std::vector or std::deque and put his size to 0 like <code>clear()</code> but free all buffers. This function is useful because <code>resize()</code>, <code>clear()</code>, <code>erase()</code> or <code>reserve()</code> methods never realloc when the array size come down. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>a</em>&nbsp;</td><td>is the container to reset. </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05587.html#l00141">141</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+Referenced by <a class="el" href="a05486.html#l00762">NLMISC::CBitmap::alphaLuminanceToAlpha()</a>, <a class="el" href="a05486.html#l00677">NLMISC::CBitmap::alphaLuminanceToLuminance()</a>, <a class="el" href="a06469.html#l00185">NLMISC::CStaticStringMapper::clear()</a>, <a class="el" href="a06058.html#l00079">NL3D::CLinearEquation::clear()</a>, <a class="el" href="a05694.html#l00120">NLPACS::CFaceGrid::clear()</a>, <a class="el" href="a05693.html#l00106">NLPACS::CExteriorMesh::clear()</a>, <a class="el" href="a05542.html#l00099">NLPACS::CChainQuad::clear()</a>, <a class="el" href="a06768.html#l03563">NL3D::CZoneLighter::computeTileFlagsForPositionTowardWater()</a>, <a class="el" href="a06012.html#l00481">NL3D::CMeshMRMSkinnedGeom::CPackedVertexBuffer::contReset()</a>, <a class="el" href="a06543.html#l00098">NL3D::CTileFarBank::CTileFar::erasePixels()</a>, <a class="el" href="a06384.html#l00112">NLMISC::CSheetId::loadSheetId()</a>, <a class="el" href="a06768.html#l03067">NL3D::CZoneLighter::makeQuadGridFromWaterShapes()</a>, <a class="el" href="a06469.html#l00135">NLMISC::CStaticStringMapper::memoryCompress()</a>, <a class="el" href="a06469.html#l00117">NLMISC::CStaticStringMapper::memoryUncompress()</a>, <a class="el" href="a06275.html#l00550">NL3D::CPSRibbonBase::motionTypeChanged()</a>, <a class="el" href="a05486.html#l01493">NLMISC::CBitmap::releaseMipMaps()</a>, <a class="el" href="a06246.html#l00364">NL3D::CPSLocated::releaseParametricInfos()</a>, <a class="el" href="a05486.html#l01508">NLMISC::CBitmap::resample()</a>, <a class="el" href="a05788.html#l00315">NLMISC::CHTimer::CNode::reset()</a>, <a class="el" href="a05486.html#l01599">NLMISC::CBitmap::reset()</a>, <a class="el" href="a05486.html#l01565">NLMISC::CBitmap::resizeMipMap()</a>, <a class="el" href="a05486.html#l00708">NLMISC::CBitmap::rgbaToAlpha()</a>, <a class="el" href="a05486.html#l00550">NLMISC::CBitmap::rgbaToAlphaLuminance()</a>, <a class="el" href="a05486.html#l00635">NLMISC::CBitmap::rgbaToLuminance()</a>, <a class="el" href="a05486.html#l02781">NLMISC::CBitmap::rot90CCW()</a>, <a class="el" href="a05486.html#l02746">NLMISC::CBitmap::rot90CW()</a>, <a class="el" href="a06116.html#l00260">NLMISC::CObjectVector&lt; sint8, false &gt;::serial()</a>, <a class="el" href="a06471.html#l00340">NLMISC::CStringStream::serialCont()</a>, <a class="el" href="a05482.html#l00591">NLMISC::CBitMemStream::serialCont()</a>, <a class="el" href="a06462.html#l00992">NLMISC::IStream::serialVector()</a>, <a class="el" href="a06462.html#l01215">NLMISC::IStream::serialVectorPolyPtr()</a>, <a class="el" href="a06462.html#l01121">NLMISC::IStream::serialVectorPtr()</a>, and <a class="el" href="a05563.html#l00125">NL3D::CCluster::unlinkSons()</a>.
+<p>
+<div class="fragment"><pre>00142 {
+00143 a.~T();
+00144 <span class="preprocessor">#undef new</span>
+00145 <span class="preprocessor"></span> <span class="keyword">new</span> (&amp;a) T;
+00146 <span class="preprocessor">#define new NL_NEW</span>
+00147 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a344" doxytag="NLMISC::CopyMoveFile" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool CopyMoveFile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>dest</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>copyFile</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>failIfExists</em> = false</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06167.html#l01601">1601</a> of file <a class="el" href="a06167.html">path.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00135">nlwarning</a>.
+<p>
+<div class="fragment"><pre>01602 {
+01603 <span class="keywordflow">if</span> (!dest || !<a class="code" href="a04223.html#a652">src</a>) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01604 <span class="keywordflow">if</span> (!strlen(dest) || !strlen(src)) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01605 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+01606 <span class="preprocessor"></span> std::string dosdest = CPath::standardizeDosPath(dest);
+01607 std::string dossrc = CPath::standardizeDosPath(src);
+01608
+01609 <span class="keywordflow">return</span> copyFile ? CopyFile(dossrc.c_str(), dosdest.c_str(), failIfExists) != FALSE
+01610 : MoveFile(dossrc.c_str(), dosdest.c_str()) != FALSE;
+01611 <span class="preprocessor">#else</span>
+01612 <span class="preprocessor"></span> std::string sdest = CPath::standardizePath(dest,<span class="keyword">false</span>);
+01613 std::string ssrc = CPath::standardizePath(src,<span class="keyword">false</span>);
+01614
+01615 <span class="keywordflow">if</span>(copyFile)
+01616 {
+01617 FILE *fp1 = fopen(ssrc.c_str(), <span class="stringliteral">"rb"</span>);
+01618 <span class="keywordflow">if</span> (fp1 == NULL)
+01619 {
+01620 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"PATH: CopyMoveFile error: can't fopen in read mode '%s'"</span>, ssrc.c_str());
+01621 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01622 }
+01623 FILE *fp2 = fopen(sdest.c_str(), <span class="stringliteral">"wb"</span>);
+01624 <span class="keywordflow">if</span> (fp2 == NULL)
+01625 {
+01626 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"PATH: CopyMoveFile error: can't fopen in read write mode '%s'"</span>, sdest.c_str());
+01627 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01628 }
+01629 <span class="keyword">static</span> <span class="keywordtype">char</span> <a class="code" href="a04223.html#a589">buffer</a> [1000];
+01630 <span class="keywordtype">int</span> <a class="code" href="a04223.html#a626">s</a>;
+01631 <span class="keywordflow">for</span>(<a class="code" href="a04223.html#a626">s</a> = fread(buffer, 1, <span class="keyword">sizeof</span>(buffer), fp1); <a class="code" href="a04223.html#a626">s</a> &gt; 0 &amp;&amp; (<a class="code" href="a04223.html#a626">s</a> = fread(buffer, 1, <span class="keyword">sizeof</span>(buffer), fp1)) ; fwrite(buffer, 1, s, fp2));
+01632 fclose(fp1);
+01633 fclose(fp2);
+01634 }
+01635 <span class="keywordflow">else</span>
+01636 {
+01637 <span class="keywordflow">if</span> (link (ssrc.c_str(), sdest.c_str()) == -1)
+01638 {
+01639 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"PATH: CopyMoveFile error: can't link '%s' into '%s'"</span>, ssrc.c_str(), sdest.c_str());
+01640 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01641 }
+01642
+01643 <span class="keywordflow">if</span> (unlink (ssrc.c_str()) == -1)
+01644 {
+01645 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"PATH: CopyMoveFile error: can't unlink '%s'"</span>, ssrc.c_str());
+01646 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01647 }
+01648 }
+01649 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01650 <span class="preprocessor">#endif </span>
+01651 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a298" doxytag="NLMISC::createDebug" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::createDebug </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>logPath</em> = NULL, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>logInFile</em> = true</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00900">900</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05621.html#l00093">AssertLog</a>, <a class="el" href="a05621.html#l00092">DebugLog</a>, <a class="el" href="a05621.html#l00095">DefaultMemDisplayer</a>, <a class="el" href="a05621.html#l00096">DefaultMsgBoxDisplayer</a>, <a class="el" href="a05621.html#l00089">ErrorLog</a>, <a class="el" href="a05621.html#l00099">fd</a>, <a class="el" href="a05621.html#l00091">InfoLog</a>, <a class="el" href="a05621.html#l00154">initDebug2()</a>, <a class="el" href="a05637.html#l00061">IsDebuggerPresent</a>, <a class="el" href="a05621.html#l00098">sd</a>, <a class="el" href="a05621.html#l00079">TrapCrashInDebugger</a>, and <a class="el" href="a05621.html#l00090">WarningLog</a>.
+<p>
+Referenced by <a class="el" href="a05526.html#l00148">NLNET::CCallbackNetBase::CCallbackNetBase()</a>, and <a class="el" href="a05597.html#l00559">NLMISC::CConfigFile::display()</a>.
+<p>
+<div class="fragment"><pre>00901 {
+00902 NL_ALLOC_CONTEXT (_Debug)
+00903
+00904 <span class="keyword">static</span> <span class="keywordtype">bool</span> alreadyCreateSharedAmongThreads = <span class="keyword">false</span>;
+00905 <span class="keywordflow">if</span> ( !alreadyCreateSharedAmongThreads )
+00906 {
+00907 <span class="comment">// Debug Info for mutexes</span>
+00908 <span class="preprocessor">#ifdef MUTEX_DEBUG</span>
+00909 <span class="preprocessor"></span> initAcquireTimeMap();
+00910 <span class="preprocessor">#endif</span>
+00911 <span class="preprocessor"></span>
+00912 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00913 <span class="preprocessor"></span><span class="comment">// if (!IsDebuggerPresent ())</span>
+00914 {
+00915 <span class="comment">// Use an environment variable to share the value among the EXE and its child DLLs</span>
+00916 <span class="comment">// (otherwise there would be one distinct bool by module, and the last</span>
+00917 <span class="comment">// _set_se_translator would overwrite the previous ones)</span>
+00918 <span class="keyword">const</span> <span class="keywordtype">char</span> *SE_TRANSLATOR_IN_MAIN_MODULE = <span class="stringliteral">"NEL_SE_TRANS"</span>;
+00919 TCHAR envBuf [2];
+00920 <span class="keywordflow">if</span> ( GetEnvironmentVariable( SE_TRANSLATOR_IN_MAIN_MODULE, envBuf, 2 ) == 0)
+00921 {
+00922 _set_se_translator(exceptionTranslator);
+00923 SetEnvironmentVariable( SE_TRANSLATOR_IN_MAIN_MODULE, <span class="stringliteral">"1"</span> );
+00924 }
+00925 }
+00926 <span class="preprocessor">#endif // NL_OS_WINDOWS</span>
+00927 <span class="preprocessor"></span>
+00928 <a class="code" href="a05378.html#a10">ErrorLog</a> = <span class="keyword">new</span> CLog (CLog::LOG_ERROR);
+00929 <a class="code" href="a05378.html#a11">WarningLog</a> = <span class="keyword">new</span> CLog (CLog::LOG_WARNING);
+00930 <a class="code" href="a05378.html#a12">InfoLog</a> = <span class="keyword">new</span> CLog (CLog::LOG_INFO);
+00931 <a class="code" href="a05378.html#a13">DebugLog</a> = <span class="keyword">new</span> CLog (CLog::LOG_DEBUG);
+00932 <a class="code" href="a05378.html#a14">AssertLog</a> = <span class="keyword">new</span> CLog (CLog::LOG_ASSERT);
+00933
+00934 <a class="code" href="a05378.html#a17">sd</a> = <span class="keyword">new</span> CStdDisplayer (<span class="stringliteral">"DEFAULT_SD"</span>);
+00935
+00936 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00937 <span class="preprocessor"></span> <span class="keywordflow">if</span> (<a class="code" href="a04198.html#a4">TrapCrashInDebugger</a> || !<a class="code" href="a04214.html#a0">IsDebuggerPresent</a> ())
+00938 {
+00939 <a class="code" href="a05378.html#a16">DefaultMsgBoxDisplayer</a> = <span class="keyword">new</span> CMsgBoxDisplayer (<span class="stringliteral">"DEFAULT_MBD"</span>);
+00940 }
+00941 <span class="preprocessor">#endif</span>
+00942 <span class="preprocessor"></span>
+00943 <span class="preprocessor">#if LOG_IN_FILE</span>
+00944 <span class="preprocessor"></span> <span class="keywordflow">if</span> (logInFile)
+00945 {
+00946 string fn;
+00947 <span class="keywordflow">if</span> (logPath != NULL)
+00948 {
+00949 fn += logPath;
+00950 }
+00951 <span class="keywordflow">else</span>
+00952 {
+00953 <span class="comment">// we want the log.log to be in the current directory</span>
+00954 <span class="comment">// char tmpPath[1024];</span>
+00955 <span class="comment">// fn += getcwd(tmpPath, 1024);</span>
+00956 <span class="comment">// fn += "/";</span>
+00957 }
+00958 fn += <span class="stringliteral">"log.log"</span>;
+00959 <a class="code" href="a05378.html#a18">fd</a> = <span class="keyword">new</span> CFileDisplayer (fn, <span class="keyword">false</span>, <span class="stringliteral">"DEFAULT_FD"</span>);
+00960 }
+00961 <span class="preprocessor">#endif // LOG_IN_FILE</span>
+00962 <span class="preprocessor"></span> <a class="code" href="a05378.html#a15">DefaultMemDisplayer</a> = <span class="keyword">new</span> CMemDisplayer (<span class="stringliteral">"DEFAULT_MD"</span>);
+00963
+00964 <a class="code" href="a05378.html#a295">initDebug2</a>(logInFile);
+00965
+00966 alreadyCreateSharedAmongThreads = <span class="keyword">true</span>;
+00967 }
+00968 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a382" doxytag="NLMISC::degToRad" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float degToRad </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>deg</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Converts from degrees to radians
+<p>
+Definition at line <a class="el" href="a05587.html#l00170">170</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00079">Pi</a>.
+<p>
+Referenced by <a class="el" href="a06425.html#l00400">NLSOUND::CSourceAL::getCone()</a>.
+<p>
+<div class="fragment"><pre>00171 {
+00172 <span class="keywordflow">return</span> deg * (<span class="keywordtype">float</span>)<a class="code" href="a05378.html#a44">Pi</a> / 180.0f;
+00173 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a289" doxytag="NLMISC::DetectMMX" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::DetectMMX </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05615.html#l00034">34</a> of file <a class="el" href="a05615.html">cpu_info.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00035 {
+00036 <span class="preprocessor"> #ifdef NL_OS_WINDOWS </span>
+00037 <span class="preprocessor"></span> <span class="keywordflow">if</span> (!CCpuInfo___::hasCPUID()) <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// cpuid not supported ...</span>
+00038
+00039 <a class="code" href="a04558.html#a11">uint32</a> result = 0;
+00040 __asm
+00041 {
+00042 mov eax,1
+00043 cpuid
+00044 <a class="code" href="a05373.html#a4">test</a> edx,0x800000 <span class="comment">// bit 23 = MMX instruction set</span>
+00045 je noMMX
+00046 mov result, 1
+00047 noMMX:
+00048 }
+00049
+00050 <span class="keywordflow">return</span> result == 1;
+00051
+00052 <span class="comment">// printf("mmx detected\n");</span>
+00053
+00054 <span class="preprocessor"> #else</span>
+00055 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00056 <span class="preprocessor"> #endif</span>
+00057 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a290" doxytag="NLMISC::DetectSSE" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::DetectSSE </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05615.html#l00060">60</a> of file <a class="el" href="a05615.html">cpu_info.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00061 {
+00062 <span class="preprocessor"> #ifdef NL_OS_WINDOWS</span>
+00063 <span class="preprocessor"></span> <span class="keywordflow">if</span> (!CCpuInfo___::hasCPUID()) <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">// cpuid not supported ...</span>
+00064
+00065 <a class="code" href="a04558.html#a11">uint32</a> result = 0;
+00066 __asm
+00067 {
+00068 mov eax, 1 <span class="comment">// request for feature flags</span>
+00069 cpuid
+00070 <a class="code" href="a05373.html#a4">test</a> EDX, 002000000h <span class="comment">// bit 25 in feature flags equal to 1</span>
+00071 je noSSE
+00072 mov result, 1 <span class="comment">// sse detected</span>
+00073 noSSE:
+00074 }
+00075
+00076
+00077 <span class="keywordflow">if</span> (result)
+00078 {
+00079 <span class="comment">// check OS support for SSE</span>
+00080 <span class="keywordflow">try</span>
+00081 {
+00082 __asm
+00083 {
+00084 xorps xmm0, xmm0 <span class="comment">// Streaming SIMD Extension</span>
+00085 }
+00086 }
+00087 <span class="keywordflow">catch</span>(...)
+00088 {
+00089 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00090 }
+00091
+00092 <span class="comment">// printf("sse detected\n");</span>
+00093
+00094 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00095 }
+00096 <span class="keywordflow">else</span>
+00097 {
+00098 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00099 }
+00100 <span class="preprocessor"> #else</span>
+00101 <span class="preprocessor"></span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00102 <span class="preprocessor"> #endif</span>
+00103 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a251" doxytag="NLMISC::displayBitStream" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::displayBitStream </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CBitMemStream &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>beginbitpos</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>endbitpos</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02813.html">NLMISC::CLog</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>log</em> = <a class="el" href="a05378.html#a13">NLMISC::DebugLog</a></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Display a part of a bitmemstream.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05482.html#l00652">652</a> of file <a class="el" href="a05482.html">bit_mem_stream.cpp</a>.
+<p>
+References <a class="el" href="a05979.html#l00238">NLMISC::CMemStream::buffer()</a>, <a class="el" href="a05586.html#l00856">displayByteBits()</a>, <a class="el" href="a05622.html#l00111">nlinfo</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05482.html#l00641">NLMISC::CBitMemStream::displayLastBits()</a>.
+<p>
+<div class="fragment"><pre>00653 {
+00654 <a class="code" href="a04558.html#a14">sint</a> beginpos = beginbitpos/8;
+00655 <a class="code" href="a04558.html#a14">sint</a> endpos = endbitpos/8;
+00656 <a class="code" href="a04199.html#a1">nlinfo</a>( <span class="stringliteral">"BMS: beginpos %d endpos %d beginbitpos %d endbitpos %d"</span>, beginpos, endpos, beginbitpos, endbitpos );
+00657 <a class="code" href="a05378.html#a282">displayByteBits</a>( *(msg.buffer()+beginpos), 8, 8-(beginbitpos-beginpos*8), <span class="keyword">true</span>, log );
+00658 <span class="keyword">const</span> <a class="code" href="a04558.html#a7">uint8</a> *p;
+00659 <span class="keywordflow">for</span> ( p=msg.buffer()+beginpos+1; p&lt;msg.buffer()+endpos-1; ++p )
+00660 {
+00661 <a class="code" href="a05378.html#a282">displayByteBits</a>( *p, 8, 0, <span class="keyword">false</span>, log );
+00662 }
+00663 <span class="keywordflow">if</span> ( endpos &gt; beginpos )
+00664 {
+00665 <a class="code" href="a05378.html#a282">displayByteBits</a>( *(msg.buffer()+endpos), 8, 0, <span class="keyword">false</span>, log );
+00666 }
+00667 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a282" doxytag="NLMISC::displayByteBits" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::displayByteBits </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a7">uint8</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>nbits</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>beginpos</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>displayBegin</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02813.html">NLMISC::CLog</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>log</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Display the bits (with 0 and 1) composing a byte (from right to left).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00856">856</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00442">NLMISC::CLog::displayRawNL()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+Referenced by <a class="el" href="a05482.html#l00652">displayBitStream()</a>.
+<p>
+<div class="fragment"><pre>00857 {
+00858 string s1, s2;
+00859 <a class="code" href="a04558.html#a14">sint</a> i;
+00860 <span class="keywordflow">for</span> ( i=nbits-1; i!=-1; --i )
+00861 {
+00862 s1 += ( (b &gt;&gt; i) &amp; 1 ) ? <span class="charliteral">'1'</span> : <span class="charliteral">'0'</span>;
+00863 }
+00864 log-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga9">displayRawNL</a>( <span class="stringliteral">"%s"</span>, s1.c_str() );
+00865 <span class="keywordflow">if</span> ( displayBegin )
+00866 {
+00867 <span class="keywordflow">for</span> ( i=nbits; i&gt;beginpos+1; --i )
+00868 {
+00869 s2 += <span class="stringliteral">" "</span>;
+00870 }
+00871 s2 += <span class="stringliteral">"^"</span>;
+00872 log-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga9">displayRawNL</a>( <span class="stringliteral">"%s beginpos=%u"</span>, s2.c_str(), beginpos );
+00873 }
+00874 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a335" doxytag="NLMISC::displayCallStack" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void displayCallStack </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">CLog *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>log</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05976.html#l00307">307</a> of file <a class="el" href="a05976.html">mem_displayer.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00323">NLMISC::CLog::displayNL()</a>.
+<p>
+Referenced by <a class="el" href="a05976.html#l00399">NLMISC::CMemDisplayer::write()</a>.
+<p>
+<div class="fragment"><pre>00308 {
+00309 log-&gt;displayNL (<span class="stringliteral">"no call stack info available"</span>);
+00310 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a283" doxytag="NLMISC::displayDwordBits" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::displayDwordBits </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>nbits</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>beginpos</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>displayBegin</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a02813.html">NLMISC::CLog</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>log</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Display the bits (with 0 and 1) composing a number (uint32) (from right to left).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00882">882</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00442">NLMISC::CLog::displayRawNL()</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00883 {
+00884 string s1, s2;
+00885 <a class="code" href="a04558.html#a14">sint</a> i;
+00886 <span class="keywordflow">for</span> ( i=nbits-1; i!=-1; --i )
+00887 {
+00888 s1 += ( (b &gt;&gt; i) &amp; 1 ) ? <span class="charliteral">'1'</span> : <span class="charliteral">'0'</span>;
+00889 }
+00890 log-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga9">displayRawNL</a>( <span class="stringliteral">"%s"</span>, s1.c_str() );
+00891 <span class="keywordflow">if</span> ( displayBegin )
+00892 {
+00893 <span class="keywordflow">for</span> ( i=nbits; i&gt;beginpos+1; --i )
+00894 {
+00895 s2 += <span class="stringliteral">" "</span>;
+00896 }
+00897 s2 += <span class="stringliteral">"^"</span>;
+00898 log-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga9">displayRawNL</a>( <span class="stringliteral">"%s beginpos=%u"</span>, s2.c_str(), beginpos );
+00899 }
+00900 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a249" doxytag="NLMISC::drawFullLine" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::drawFullLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; std::pair&lt; <a class="el" href="a04558.html#a14">sint</a>, <a class="el" href="a04558.html#a14">sint</a> &gt; &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>result</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Select all points crossed by the line [(x0,y0) ; (x1,y1)] Not the same than brensenham
+<p>
+Definition at line <a class="el" href="a05425.html#l00142">142</a> of file <a class="el" href="a05425.html">algo.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+Referenced by <a class="el" href="a06768.html#l00712">draw2dLine()</a>.
+<p>
+<div class="fragment"><pre>00143 {
+00144 result.clear ();
+00145 <span class="comment">// x0 must be &lt; x1</span>
+00146 <span class="keywordtype">float</span> dx = (<span class="keywordtype">float</span>) fabs (x0-x1);
+00147 <span class="keywordtype">float</span> dy = (<span class="keywordtype">float</span>) fabs (y0-y1);
+00148 <span class="keywordflow">if</span> ((dx == 0) &amp;&amp; (dy == 0))
+00149 result.push_back (pair&lt;sint, sint&gt; ((<a class="code" href="a04558.html#a14">sint</a>)floor (x0), (sint)floor (y0)));
+00150 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (dx &gt; dy)
+00151 {
+00152 <span class="keywordflow">if</span> (x0 &gt; x1)
+00153 {
+00154 <span class="comment">// Xchg 0 and 1</span>
+00155 <span class="keywordtype">float</span> temp = x0;
+00156 x0 = x1;
+00157 x1 = temp;
+00158 temp = y0;
+00159 y0 = y1;
+00160 y1 = temp;
+00161 }
+00162
+00163 <span class="keywordtype">float</span> deltaX = x1 - x0;
+00164 <span class="keyword">const</span> <span class="keywordtype">float</span> deltaY = (y1-y0)/deltaX;
+00165
+00166 <span class="comment">// Current integer pixel</span>
+00167 <a class="code" href="a04558.html#a14">sint</a> currentX = (<a class="code" href="a04558.html#a14">sint</a>)floor (x0);
+00168 <a class="code" href="a04558.html#a14">sint</a> currentY = (<a class="code" href="a04558.html#a14">sint</a>)floor (y0);
+00169
+00170 <span class="keywordflow">while</span> (deltaX &gt;= 0)
+00171 {
+00172 <span class="comment">// Next point</span>
+00173 <a class="code" href="a04558.html#a14">sint</a> previousY = currentY;
+00174
+00175 <span class="comment">// Next y0</span>
+00176 <span class="keywordflow">if</span> (deltaX &gt; 1)
+00177 y0 += deltaY;
+00178 <span class="keywordflow">else</span>
+00179 y0 += deltaX * deltaY;
+00180
+00181 deltaX -= 1;
+00182
+00183 currentY = (<a class="code" href="a04558.html#a14">sint</a>)y0;
+00184
+00185 <span class="comment">// Add point</span>
+00186 <span class="keywordflow">if</span> (currentY&lt;=previousY)
+00187 {
+00188 <span class="keywordflow">do</span>
+00189 {
+00190 result.push_back (pair&lt;sint, sint&gt; (currentX, previousY));
+00191 previousY--;
+00192 }
+00193 <span class="keywordflow">while</span> (currentY&lt;=previousY);
+00194 }
+00195 <span class="keywordflow">else</span>
+00196 {
+00197 <span class="keywordflow">do</span>
+00198 {
+00199 result.push_back (pair&lt;sint, sint&gt; (currentX, previousY));
+00200 previousY++;
+00201 }
+00202 <span class="keywordflow">while</span> (currentY&gt;=previousY);
+00203 }
+00204
+00205 <span class="comment">// Next X</span>
+00206 currentX++;
+00207 }
+00208 }
+00209 <span class="keywordflow">else</span>
+00210 {
+00211 <span class="keywordflow">if</span> (y0 &gt; y1)
+00212 {
+00213 <span class="comment">// Xchg 0 and 1</span>
+00214 <span class="keywordtype">float</span> temp = y0;
+00215 y0 = y1;
+00216 y1 = temp;
+00217 temp = x0;
+00218 x0 = x1;
+00219 x1 = temp;
+00220 }
+00221
+00222 <span class="keywordtype">float</span> deltaY = y1 - y0;
+00223 <span class="keyword">const</span> <span class="keywordtype">float</span> deltaX = (x1-x0)/deltaY;
+00224
+00225 <span class="comment">// Current integer pixel</span>
+00226 <a class="code" href="a04558.html#a14">sint</a> currentY = (<a class="code" href="a04558.html#a14">sint</a>)floor (y0);
+00227 <a class="code" href="a04558.html#a14">sint</a> currentX = (<a class="code" href="a04558.html#a14">sint</a>)floor (x0);
+00228
+00229 <span class="keywordflow">while</span> (deltaY &gt;= 0)
+00230 {
+00231 <span class="comment">// Next point</span>
+00232 <a class="code" href="a04558.html#a14">sint</a> previousX = currentX;
+00233
+00234 <span class="comment">// Next x0</span>
+00235 <span class="keywordflow">if</span> (deltaY &gt; 1)
+00236 x0 += deltaX;
+00237 <span class="keywordflow">else</span>
+00238 x0 += deltaY * deltaX;
+00239
+00240 deltaY -= 1;
+00241
+00242 currentX = (<a class="code" href="a04558.html#a14">sint</a>)x0;
+00243
+00244 <span class="comment">// Add point</span>
+00245 <span class="keywordflow">if</span> (currentX&lt;=previousX)
+00246 {
+00247 <span class="keywordflow">do</span>
+00248 {
+00249 result.push_back (pair&lt;sint, sint&gt; (previousX, currentY));
+00250 previousX--;
+00251 }
+00252 <span class="keywordflow">while</span> (currentX&lt;=previousX);
+00253 }
+00254 <span class="keywordflow">else</span>
+00255 {
+00256 <span class="keywordflow">do</span>
+00257 {
+00258 result.push_back (pair&lt;sint, sint&gt; (previousX, currentY));
+00259 previousX++;
+00260 }
+00261 <span class="keywordflow">while</span> (currentX&gt;=previousX);
+00262 }
+00263
+00264 <span class="comment">// Next Y</span>
+00265 currentY++;
+00266 }
+00267 }
+00268 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a365" doxytag="NLMISC::drawLine" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void drawLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; std::pair&lt; <a class="el" href="a04558.html#a14">sint</a>, <a class="el" href="a04558.html#a14">sint</a> &gt; &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>result</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Select points on the line [(x0,y0) ; (x1,y1)] </td>
+ </tr>
+</table>
+<a class="anchor" name="a250" doxytag="NLMISC::drawLine" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void drawLine </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y0</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>vector&lt; pair&lt; <a class="el" href="a04558.html#a14">sint</a>, <a class="el" href="a04558.html#a14">sint</a> &gt; &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>result</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05425.html#l00272">272</a> of file <a class="el" href="a05425.html">algo.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+<div class="fragment"><pre>00273 {
+00274 <span class="keywordtype">float</span> dx = (<span class="keywordtype">float</span>)(floor(x1+0.5) - floor(x0+0.5));
+00275 <span class="keywordtype">float</span> dy = (<span class="keywordtype">float</span>)(floor(y1+0.5) - floor(y0+0.5));
+00276
+00277 <span class="keywordtype">float</span> rdx = x1-x0;
+00278 <span class="keywordtype">float</span> rdy = y1-y0;
+00279
+00280 <a class="code" href="a04558.html#a14">sint</a> d = (<a class="code" href="a04558.html#a14">sint</a>)std::max(fabs(dx), fabs(dy));
+00281 <span class="keywordtype">float</span> maxd = (<span class="keywordtype">float</span>)(std::max(fabs(rdx), fabs(rdy)));
+00282
+00283 rdx /= maxd;
+00284 rdy /= maxd;
+00285
+00286 <span class="keywordflow">for</span> (; d&gt;=0; --d)
+00287 {
+00288 result.push_back(make_pair&lt;sint,sint&gt;((<a class="code" href="a04558.html#a14">sint</a>)floor(x0+0.5), (sint)floor(y0+0.5)));
+00289
+00290 x0 += rdx;
+00291 y0 += rdy;
+00292 }
+00293 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a392" doxytag="NLMISC::enterBreakpoint" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void enterBreakpoint </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>message</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="a281" doxytag="NLMISC::explode" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::explode </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>sep</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; std::string &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>res</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>skipEmpty</em> = false</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Explode a string into a vector of string with *sep* as separator. If sep can be more than 1 char, in this case, we find the entire sep to separator (it s not a set of possible separator)<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>skipEmpty</em>&nbsp;</td><td>if true, we don't put in the res vector empty string </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00821">821</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a05646.html#l00977">s</a>, and <a class="el" href="a05646.html#l01124">src</a>.
+<p>
+Referenced by <a class="el" href="a05634.html#l00472">STRING_MANAGER::preparePhraseFile()</a>, and <a class="el" href="a05634.html#l00203">STRING_MANAGER::prepareStringFile()</a>.
+<p>
+<div class="fragment"><pre>00822 {
+00823 string::size_type oldpos = 0, pos;
+00824
+00825 <a class="code" href="a04223.html#a643">res</a>.clear ();
+00826
+00827 <span class="keywordflow">do</span>
+00828 {
+00829 pos = <a class="code" href="a04223.html#a652">src</a>.find (sep, oldpos);
+00830 string <a class="code" href="a04223.html#a626">s</a>;
+00831 <span class="keywordflow">if</span>(pos == string::npos)
+00832 <a class="code" href="a04223.html#a626">s</a> = <a class="code" href="a04223.html#a652">src</a>.substr (oldpos);
+00833 <span class="keywordflow">else</span>
+00834 <a class="code" href="a04223.html#a626">s</a> = <a class="code" href="a04223.html#a652">src</a>.substr (oldpos, (pos-oldpos));
+00835
+00836 <span class="keywordflow">if</span> (!skipEmpty || !<a class="code" href="a04223.html#a626">s</a>.empty())
+00837 <a class="code" href="a04223.html#a643">res</a>.push_back (s);
+00838
+00839 oldpos = pos+1;
+00840 }
+00841 <span class="keywordflow">while</span>(pos != string::npos);
+00842
+00843 <span class="comment">// debug</span>
+00844 <span class="comment">/* nlinfo ("Exploded '%s', with '%s', %d res", src.c_str(), sep.c_str(), res.size());</span>
+00845 <span class="comment"> for (uint i = 0; i &lt; res.size(); i++)</span>
+00846 <span class="comment"> {</span>
+00847 <span class="comment"> nlinfo (" &gt; '%s'", res[i].c_str());</span>
+00848 <span class="comment"> }</span>
+00849 <span class="comment">*/</span>
+00850 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a368" doxytag="NLMISC::fastClamp8" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fastClamp8 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a14">sint</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Clamp a sint in 0..255. Avoid cond jump.
+<p>
+Definition at line <a class="el" href="a05426.html#l00122">122</a> of file <a class="el" href="a05426.html">algo.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00115">clamp()</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00123 {
+00124 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00125 <span class="preprocessor"></span> <span class="comment">// clamp v in 0..255 (no cond jmp)</span>
+00126 __asm
+00127 {
+00128 mov esi, <a class="code" href="a04223.html#a576">v</a>
+00129 mov eax, [esi]
+00130 mov ebx, eax
+00131 <span class="comment">// clamp to 0.</span>
+00132 add eax, 0x80000000
+00133 sbb ecx, ecx
+00134 not ecx
+00135 and ebx, ecx
+00136 <span class="comment">// clamp to 255.</span>
+00137 add eax, 0x7FFFFF00
+00138 sbb ecx, ecx
+00139 or ebx, ecx
+00140 and ebx, 255
+00141 <span class="comment">// store</span>
+00142 mov [esi], ebx
+00143 }
+00144 <span class="preprocessor">#else</span>
+00145 <span class="preprocessor"></span> <a class="code" href="a05378.html#a374">clamp</a>(v, 0, 255);
+00146 <span class="preprocessor">#endif</span>
+00147 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a326" doxytag="NLMISC::findBestmemcpy" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05378.html#a26">memcpyPtr</a> findBestmemcpy </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05702.html#l00227">227</a> of file <a class="el" href="a05702.html">fast_mem.cpp</a>.
+<p>
+References <a class="el" href="a05702.html#l00225">memcpyPtr</a>.
+<p>
+<div class="fragment"><pre>00228 {
+00229 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00230 <span class="preprocessor"></span> <span class="keywordflow">if</span> (CSystemInfo::hasSSE ())
+00231 <span class="keywordflow">return</span> CFastMem::memcpySSE;
+00232 <span class="keywordflow">else</span>
+00233 return ::memcpy;
+00234 <span class="preprocessor">#else // NL_OS_WINDOWS</span>
+00235 <span class="preprocessor"></span> return ::memcpy;
+00236 <span class="preprocessor">#endif // NL_OS_WINDOWS</span>
+00237 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a328" doxytag="NLMISC::fprintf_int" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fprintf_int </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>value</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05776.html#l01368">1368</a> of file <a class="el" href="a05776.html">misc/heap_allocator.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05646.html#l01132">value</a>.
+<p>
+<div class="fragment"><pre>01369 {
+01370
+01371 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a371" doxytag="NLMISC::frand" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float frand </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>mod</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return a float random inside the interval [0,mod]
+<p>
+Definition at line <a class="el" href="a05587.html#l00084">84</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00993">r</a>.
+<p>
+Referenced by <a class="el" href="a06105.html#l00054">NLMISC::CRandomGrid3D::CRandomGrid3D()</a>, and <a class="el" href="a06024.html#l00144">NL3D::CMeshVPWindTree::initInstance()</a>.
+<p>
+<div class="fragment"><pre>00085 {
+00086 <span class="keywordtype">double</span> <a class="code" href="a04223.html#a628">r</a> = (<span class="keywordtype">double</span>) rand();
+00087 <a class="code" href="a04223.html#a628">r</a>/= (<span class="keywordtype">double</span>) RAND_MAX;
+00088 <span class="keywordflow">return</span> (<span class="keywordtype">float</span>)(<a class="code" href="a04223.html#a628">r</a> * mod);
+00089 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a271" doxytag="NLMISC::fromHumanReadable" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> NLMISC::fromHumanReadable </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get a bytes or time in string format and convert it in seconds or bytes.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00499">499</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00500 {
+00501 <span class="keywordflow">if</span> (str.size() == 0)
+00502 <span class="keywordflow">return</span> 0;
+00503
+00504 <a class="code" href="a04558.html#a11">uint32</a> val = atoi (str.c_str());
+00505
+00506 <span class="keywordflow">switch</span> (str[str.size()-1])
+00507 {
+00508 <span class="keywordflow">case</span> <span class="charliteral">'s'</span>: <span class="keywordflow">return</span> val; <span class="comment">// second</span>
+00509 <span class="keywordflow">case</span> <span class="charliteral">'n'</span>: <span class="keywordflow">return</span> val*60; <span class="comment">// minutes (mn)</span>
+00510 <span class="keywordflow">case</span> <span class="charliteral">'h'</span>: <span class="keywordflow">return</span> val*60*60; <span class="comment">// hour</span>
+00511 <span class="keywordflow">case</span> <span class="charliteral">'d'</span>: <span class="keywordflow">return</span> val*60*60*24; <span class="comment">// day</span>
+00512 <span class="keywordflow">case</span> <span class="charliteral">'b'</span>: <span class="comment">// bytes</span>
+00513 <span class="keywordflow">switch</span> (str[str.size()-2])
+00514 {
+00515 <span class="keywordflow">case</span> <span class="charliteral">'k'</span>: <span class="keywordflow">return</span> val*1024;
+00516 <span class="keywordflow">case</span> <span class="charliteral">'m'</span>: <span class="keywordflow">return</span> val*1024*1024;
+00517 <span class="keywordflow">case</span> <span class="charliteral">'g'</span>: <span class="keywordflow">return</span> val*1024*1024*1024;
+00518 <span class="keywordflow">default</span> : <span class="keywordflow">return</span> val;
+00519 }
+00520 <span class="keywordflow">default</span>: <span class="keywordflow">return</span> val;
+00521 }
+00522 <span class="keywordflow">return</span> 0;
+00523 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a434" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00214">214</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+<div class="fragment"><pre>00214 { val = str; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a433" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00213">213</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06465.html#l00203">fromString()</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00213 { <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a576">v</a>; <a class="code" href="a05378.html#a423">fromString</a>(str, v); val = (<a class="code" href="a04223.html#a576">v</a>==1); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a432" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>double &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00212">212</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+<div class="fragment"><pre>00212 { sscanf(str.c_str(), <span class="stringliteral">"%lf"</span>, &amp;val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a431" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00211">211</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+<div class="fragment"><pre>00211 { sscanf(str.c_str(), <span class="stringliteral">"%f"</span>, &amp;val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a430" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a12">sint64</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00210">210</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00107">NL_I64</a>, and <a class="el" href="a05981.html#l00101">sint64</a>.
+<p>
+<div class="fragment"><pre>00210 { sscanf(str.c_str(), <span class="stringliteral">"%"</span><a class="code" href="a04558.html#a4">NL_I64</a><span class="stringliteral">"d"</span>, &amp;val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a429" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a13">uint64</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00209">209</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00107">NL_I64</a>, and <a class="el" href="a05981.html#l00102">uint64</a>.
+<p>
+<div class="fragment"><pre>00209 { sscanf(str.c_str(), <span class="stringliteral">"%"</span><a class="code" href="a04558.html#a4">NL_I64</a><span class="stringliteral">"u"</span>, &amp;val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a428" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a8">sint16</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00208">208</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06465.html#l00203">fromString()</a>, <a class="el" href="a05981.html#l00097">sint16</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00208 { <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a576">v</a>; <a class="code" href="a05378.html#a423">fromString</a>(str, v); val = (<a class="code" href="a04558.html#a8">sint16</a>)<a class="code" href="a04223.html#a576">v</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a427" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a9">uint16</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00207">207</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06465.html#l00203">fromString()</a>, <a class="el" href="a05981.html#l00098">uint16</a>, <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00207 { <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a576">v</a>; <a class="code" href="a05378.html#a423">fromString</a>(str, v); val = (<a class="code" href="a04558.html#a9">uint16</a>)<a class="code" href="a04223.html#a576">v</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a426" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a6">sint8</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00206">206</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06465.html#l00203">fromString()</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a05981.html#l00095">sint8</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00206 { <a class="code" href="a04558.html#a10">sint32</a> <a class="code" href="a04223.html#a576">v</a>; <a class="code" href="a05378.html#a423">fromString</a>(str, v); val = (<a class="code" href="a04558.html#a6">sint8</a>)<a class="code" href="a04223.html#a576">v</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a425" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a7">uint8</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00205">205</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06465.html#l00203">fromString()</a>, <a class="el" href="a05981.html#l00100">uint32</a>, <a class="el" href="a05981.html#l00096">uint8</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00205 { <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a576">v</a>; <a class="code" href="a05378.html#a423">fromString</a>(str, v); val = (<a class="code" href="a04558.html#a7">uint8</a>)<a class="code" href="a04223.html#a576">v</a>; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a424" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a10">sint32</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00204">204</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00099">sint32</a>.
+<p>
+<div class="fragment"><pre>00204 { sscanf(str.c_str(), <span class="stringliteral">"%d"</span>, &amp;val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a423" doxytag="NLMISC::fromString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void fromString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a11">uint32</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>val</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00203">203</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06666.html#l00425">NLMISC::CVariable&lt; std::string &gt;::execute()</a>, <a class="el" href="a06666.html#l00229">NLMISC::CVariable&lt; std::string &gt;::fromString()</a>, <a class="el" href="a06666.html#l00196">NLMISC::CVariablePtr&lt; T &gt;::fromString()</a>, and <a class="el" href="a06465.html#l00205">fromString()</a>.
+<p>
+<div class="fragment"><pre>00203 { sscanf(str.c_str(), <span class="stringliteral">"%u"</span>, &amp;val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a372" doxytag="NLMISC::fsgn" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> fsgn </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>f</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return -1 if f&lt;0, 0 if f==0, 1 if f&gt;1
+<p>
+Definition at line <a class="el" href="a05587.html#l00094">94</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+Referenced by <a class="el" href="a05664.html#l00060">NLPACS::CEdgeCollide::testPointMove()</a>.
+<p>
+<div class="fragment"><pre>00095 {
+00096 <span class="keywordflow">if</span>(f&lt;0)
+00097 <span class="keywordflow">return</span> -1;
+00098 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(f&gt;0)
+00099 <span class="keywordflow">return</span> 1;
+00100 <span class="keywordflow">else</span>
+00101 <span class="keywordflow">return</span> 0;
+00102 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a296" doxytag="NLMISC::getCallStackAndLog" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::getCallStackAndLog </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>result</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>skipNFirst</em> = 0</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Get the call stack and set it with result.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00836">836</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05621.html#l00102">CrashCallback</a>, <a class="el" href="a05621.html#l00095">DefaultMemDisplayer</a>, <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05976.html#l00399">NLMISC::CMemDisplayer::write()</a>.
+<p>
+Referenced by <a class="el" href="a05943.html#l00362">NLMISC::CLog::displayRawString()</a>, and <a class="el" href="a05943.html#l00242">NLMISC::CLog::displayString()</a>.
+<p>
+<div class="fragment"><pre>00837 {
+00838 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00839 <span class="preprocessor"></span> <span class="keywordflow">try</span>
+00840 {
+00841 WORKAROUND_VCPP_SYNCHRONOUS_EXCEPTION <span class="comment">// force to install a exception frame </span>
+00842
+00843 DWORD array[1];
+00844 array[0] = skipNFirst;
+00845 RaiseException (0xACE0ACE, 0, 1, array);
+00846 }
+00847 <span class="keywordflow">catch</span> (EDebug &amp;e)
+00848 {
+00849 result += e.what();
+00850 }
+00851 <span class="preprocessor">#else</span>
+00852 <span class="preprocessor"></span>
+00853 <span class="comment">// there s no stack on GNU/Linux, only get the log without filters</span>
+00854
+00855 result += <span class="stringliteral">"No callstack available\n"</span>;
+00856 result += <span class="stringliteral">"-------------------------------\n"</span>;
+00857 result += <span class="stringliteral">"\n"</span>;
+00858 <span class="keywordflow">if</span>(<a class="code" href="a05378.html#a15">DefaultMemDisplayer</a>)
+00859 {
+00860 result += <span class="stringliteral">"Log with no filter:\n"</span>;
+00861 result += <span class="stringliteral">"-------------------------------\n"</span>;
+00862 <a class="code" href="a05378.html#a15">DefaultMemDisplayer</a>-&gt;<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera7">write</a> (result);
+00863 }
+00864 <span class="keywordflow">else</span>
+00865 {
+00866 result += <span class="stringliteral">"No log\n"</span>;
+00867 }
+00868 result += <span class="stringliteral">"-------------------------------\n"</span>;
+00869
+00870 <span class="comment">// add specific information about the application</span>
+00871 <span class="keywordflow">if</span>(<a class="code" href="a05378.html#a19">CrashCallback</a>)
+00872 {
+00873 result += <span class="stringliteral">"User Crash Callback:\n"</span>;
+00874 result += <span class="stringliteral">"-------------------------------\n"</span>;
+00875 <span class="keyword">static</span> <span class="keywordtype">bool</span> looping = <span class="keyword">false</span>;
+00876 <span class="keywordflow">if</span>(looping)
+00877 {
+00878 result += <span class="stringliteral">"******* WARNING: crashed in the user crash callback *******\n"</span>;
+00879 looping = <span class="keyword">false</span>;
+00880 }
+00881 <span class="keywordflow">else</span>
+00882 {
+00883 looping = <span class="keyword">true</span>;
+00884 result += <a class="code" href="a05378.html#a19">CrashCallback</a>();
+00885 looping = <span class="keyword">false</span>;
+00886 }
+00887 result += <span class="stringliteral">"-------------------------------\n"</span>;
+00888 }
+00889
+00890 <span class="preprocessor">#endif</span>
+00891 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a343" doxytag="NLMISC::getname" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> string getname </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">dirent *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>de</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06167.html#l00678">678</a> of file <a class="el" href="a06167.html">path.cpp</a>.
+<p>
+<div class="fragment"><pre>00679 {
+00680 <a class="code" href="a04199.html#a6">nlassert</a> (de != NULL);
+00681 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00682 <span class="preprocessor"></span> <span class="keywordflow">return</span> de-&gt;cFileName;
+00683 <span class="preprocessor">#else</span>
+00684 <span class="preprocessor"></span> <span class="keywordflow">return</span> de-&gt;d_name;
+00685 <span class="preprocessor">#endif // NL_OS_WINDOWS</span>
+00686 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a263" doxytag="NLMISC::getPowerOf2" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NLMISC::getPowerOf2 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the power of 2 of v. Example: getPowerOf2(8) is 3 getPowerOf2(5) is 3
+<p>
+Definition at line <a class="el" href="a05586.html#l00358">358</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+Referenced by <a class="el" href="a06436.html#l00181">NL3D::CStaticQuadGrid&lt; T &gt;::build()</a>, <a class="el" href="a05935.html#l00809">NL3D::CLodCharacterTmpBitmap::build()</a>, <a class="el" href="a05567.html#l00070">NL3D::CCoarseMeshBuild::buildBitmap()</a>, <a class="el" href="a06768.html#l02045">NL3D::CZoneLighter::buildZoneInformation()</a>, <a class="el" href="a05864.html#l00040">NL3D::CLandscapeCollisionGrid::CLandscapeCollisionGrid()</a>, <a class="el" href="a06155.html#l01283">NL3D::CPatch::compile()</a>, <a class="el" href="a06729.html#l00172">NL3D::CVisualCollisionManager::CStaticGrid::create()</a>, <a class="el" href="a06300.html#l00433">NL3D::CQuadGrid&lt; T &gt;::create()</a>, <a class="el" href="a05694.html#l00129">NLPACS::CFaceGrid::create()</a>, <a class="el" href="a05652.html#l01175">NL3D::CDriverGL::forceTextureResize()</a>, <a class="el" href="a05868.html#l00077">NL3D::CLandscapeFaceVectorManager::getBlockIdFromNumTri()</a>, <a class="el" href="a06519.html#l00128">NL3D::CTextureFar::getFreeListId()</a>, <a class="el" href="a06515.html#l00098">NL3D::CTextureDLM::getTypeForSize()</a>, <a class="el" href="a06103.html#l00055">NL3D::CNoise3d::init()</a>, <a class="el" href="a05559.html#l00143">NL3D::SCloudTextureClamp::init()</a>, <a class="el" href="a05559.html#l00091">NL3D::SCloudTexture3D::init()</a>, <a class="el" href="a05557.html#l00065">NL3D::CCloud::init()</a>, and <a class="el" href="a05486.html#l00244">NLMISC::CBitmap::readDDS()</a>.
+<p>
+<div class="fragment"><pre>00359 {
+00360 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a643">res</a>=1;
+00361 <a class="code" href="a04558.html#a15">uint</a> ret=0;
+00362 <span class="keywordflow">while</span>(<a class="code" href="a04223.html#a643">res</a>&lt;<a class="code" href="a04223.html#a576">v</a>)
+00363 {
+00364 ret++;
+00365 <a class="code" href="a04223.html#a643">res</a>&lt;&lt;=1;
+00366 }
+00367
+00368 <span class="keywordflow">return</span> ret;
+00369 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a257" doxytag="NLMISC::getThreadId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NLMISC::getThreadId </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns Process Id (note: on Linux, Process Id is the same as the Thread Id) Returns Thread Id (note: on Linux, Process Id is the same as the Thread Id).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00093">93</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06645.html#l00653">NLNET::CUnifiedNetwork::addService()</a>, <a class="el" href="a05526.html#l00148">NLNET::CCallbackNetBase::CCallbackNetBase()</a>, <a class="el" href="a06645.html#l00566">NLNET::CUnifiedNetwork::connect()</a>, <a class="el" href="a05943.html#l00242">NLMISC::CLog::displayString()</a>, <a class="el" href="a06645.html#l01335">NLNET::CUnifiedNetwork::getNetBase()</a>, <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>, <a class="el" href="a06364.html#l00211">NLNET::initSignal()</a>, <a class="el" href="a06645.html#l00599">NLNET::CUnifiedNetwork::release()</a>, <a class="el" href="a06645.html#l01091">NLNET::CUnifiedNetwork::send()</a>, <a class="el" href="a06645.html#l01160">NLNET::CUnifiedNetwork::sendAll()</a>, <a class="el" href="a06364.html#l00164">NLNET::sigHandler()</a>, and <a class="el" href="a06645.html#l00857">NLNET::CUnifiedNetwork::update()</a>.
+<p>
+<div class="fragment"><pre>00094 {
+00095 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00096 <span class="preprocessor"></span> <span class="keywordflow">return</span> GetCurrentThreadId();
+00097 <span class="preprocessor">#elif defined NL_OS_UNIX</span>
+00098 <span class="preprocessor"></span> <span class="keywordflow">return</span> getpid();
+00099 <span class="preprocessor">#endif</span>
+00100 <span class="preprocessor"></span>
+00101 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a355" doxytag="NLMISC::HLSValue" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float HLSValue </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>h</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>v2</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Used by buildFromHLS.
+<p>
+
+<p>
+Definition at line <a class="el" href="a06339.html#l00658">658</a> of file <a class="el" href="a06339.html">rgba.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06339.html#l00686">NLMISC::CRGBA::buildFromHLS()</a>.
+<p>
+<div class="fragment"><pre>00659 {
+00660 <span class="comment">/* get hue in the [0, 360] interval */</span>
+00661 <span class="comment">// h -= 360.f * ::floorf(h / 360.f);</span>
+00662
+00663 <span class="keywordflow">if</span> (h &gt; 360.f) h -= 360.f;
+00664 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (h &lt; 0) h += 360.f;
+00665
+00666 <span class="keywordflow">if</span> (h &lt; 60.f)
+00667 {
+00668 <span class="keywordflow">return</span> v1 + (v2 - v1) * h / 60.f;
+00669 }
+00670 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (h &lt; 180.f)
+00671 {
+00672 <span class="keywordflow">return</span> v2;
+00673 }
+00674 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (h &lt; 240.f)
+00675 {
+00676 <span class="keywordflow">return</span> v1 + (v2 - v1) * (240.f - h) / 60.f;
+00677 }
+00678 <span class="keywordflow">else</span>
+00679 {
+00680 <span class="keywordflow">return</span> v1;
+00681 }
+00682 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a391" doxytag="NLMISC::humanReadableToBytes" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> humanReadableToBytes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert a human readable into a bytes, for example "102kb" -&gt; 105123.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="a267" doxytag="NLMISC::humanReadableToBytes" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> humanReadableToBytes </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00422">422</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01119">res</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05586.html#l00465">NLMISC_COMMAND()</a>, and <a class="el" href="a05391.html#l00648">NLNET::updateAdmin()</a>.
+<p>
+<div class="fragment"><pre>00423 {
+00424 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a643">res</a>;
+00425
+00426 <span class="keywordflow">if</span>(str.empty())
+00427 <span class="keywordflow">return</span> 0;
+00428
+00429 <span class="comment">// not a number</span>
+00430 <span class="keywordflow">if</span>(str[0]&lt;<span class="charliteral">'0'</span> || str[0]&gt;<span class="charliteral">'9'</span>)
+00431 <span class="keywordflow">return</span> 0;
+00432
+00433 <a class="code" href="a04223.html#a643">res</a> = atoi (str.c_str());
+00434
+00435 <span class="keywordflow">if</span>(str[str.size()-1] == <span class="charliteral">'b'</span>)
+00436 {
+00437 <span class="keywordflow">if</span> (str.size()&lt;3)
+00438 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a643">res</a>;
+00439
+00440 <span class="comment">// there s no break and it s **normal**</span>
+00441 <span class="keywordflow">switch</span> (str[str.size()-2])
+00442 {
+00443 <span class="keywordflow">case</span> <span class="charliteral">'g'</span>: <a class="code" href="a04223.html#a643">res</a> *= 1024;
+00444 <span class="keywordflow">case</span> <span class="charliteral">'m'</span>: <a class="code" href="a04223.html#a643">res</a> *= 1024;
+00445 <span class="keywordflow">case</span> <span class="charliteral">'k'</span>: <a class="code" href="a04223.html#a643">res</a> *= 1024;
+00446 <span class="keywordflow">default</span>: ;
+00447 }
+00448 }
+00449
+00450 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a643">res</a>;
+00451 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a295" doxytag="NLMISC::initDebug2" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void initDebug2 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>logInFile</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00154">154</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00115">NLMISC::CLog::addDisplayer()</a>, <a class="el" href="a05621.html#l00093">AssertLog</a>, <a class="el" href="a05621.html#l00092">DebugLog</a>, <a class="el" href="a05621.html#l00095">DefaultMemDisplayer</a>, <a class="el" href="a05621.html#l00096">DefaultMsgBoxDisplayer</a>, <a class="el" href="a05621.html#l00089">ErrorLog</a>, <a class="el" href="a05621.html#l00099">fd</a>, <a class="el" href="a05621.html#l00091">InfoLog</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05621.html#l00098">sd</a>, and <a class="el" href="a05621.html#l00090">WarningLog</a>.
+<p>
+Referenced by <a class="el" href="a05621.html#l00900">createDebug()</a>.
+<p>
+<div class="fragment"><pre>00155 {
+00156 <span class="keyword">static</span> <span class="keywordtype">bool</span> alreadyInit = <span class="keyword">false</span>;
+00157
+00158 <span class="keywordflow">if</span> (!alreadyInit)
+00159 {
+00160 <span class="preprocessor">#if DEFAULT_DISPLAYER</span>
+00161 <span class="preprocessor"></span>
+00162 <span class="comment">// put the standard displayer everywhere</span>
+00163
+00164 <span class="preprocessor">#ifdef NL_DEBUG</span>
+00165 <span class="preprocessor"></span> <a class="code" href="a05378.html#a13">DebugLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (sd);
+00166 <span class="preprocessor">#endif // NL_DEBUG</span>
+00167 <span class="preprocessor"></span> <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (sd);
+00168 <a class="code" href="a05378.html#a11">WarningLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (sd);
+00169 <a class="code" href="a05378.html#a14">AssertLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (sd);
+00170 <a class="code" href="a05378.html#a10">ErrorLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (sd);
+00171
+00172 <span class="comment">// put the memory displayer everywhere</span>
+00173
+00174 <span class="comment">// use the memory displayer and bypass all filter (even for the debug mode)</span>
+00175 <a class="code" href="a05378.html#a13">DebugLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (DefaultMemDisplayer, <span class="keyword">true</span>);
+00176 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (DefaultMemDisplayer, <span class="keyword">true</span>);
+00177 <a class="code" href="a05378.html#a11">WarningLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (DefaultMemDisplayer, <span class="keyword">true</span>);
+00178 <a class="code" href="a05378.html#a14">AssertLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (DefaultMemDisplayer, <span class="keyword">true</span>);
+00179 <a class="code" href="a05378.html#a10">ErrorLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (DefaultMemDisplayer, <span class="keyword">true</span>);
+00180
+00181 <span class="comment">// put the file displayer only if wanted</span>
+00182
+00183 <span class="preprocessor">#if LOG_IN_FILE</span>
+00184 <span class="preprocessor"></span> <span class="keywordflow">if</span> (logInFile)
+00185 {
+00186 <span class="preprocessor">#ifdef NL_DEBUG</span>
+00187 <span class="preprocessor"></span> <a class="code" href="a05378.html#a13">DebugLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (fd);
+00188 <span class="preprocessor">#endif // NL_DEBUG</span>
+00189 <span class="preprocessor"></span> <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (fd);
+00190 <a class="code" href="a05378.html#a11">WarningLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (fd);
+00191 <a class="code" href="a05378.html#a14">AssertLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (fd);
+00192 <a class="code" href="a05378.html#a10">ErrorLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (fd);
+00193 }
+00194 <span class="preprocessor">#endif // LOG_IN_FILE</span>
+00195 <span class="preprocessor"></span>
+00196 <span class="comment">// put the message box only in release for error</span>
+00197
+00198 <span class="keywordflow">if</span> (<a class="code" href="a05378.html#a16">DefaultMsgBoxDisplayer</a>)
+00199 {
+00200 <a class="code" href="a05378.html#a14">AssertLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (DefaultMsgBoxDisplayer);
+00201 <a class="code" href="a05378.html#a10">ErrorLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga0">addDisplayer</a> (DefaultMsgBoxDisplayer);
+00202 }
+00203
+00204 <span class="preprocessor">#endif // DEFAULT_DISPLAYER</span>
+00205 <span class="preprocessor"></span> alreadyInit = <span class="keyword">true</span>;
+00206 }
+00207 <span class="keywordflow">else</span>
+00208 {
+00209 <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"NLMISC::initDebug2() already called"</span>);
+00210 }
+00211 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a341" doxytag="NLMISC::isdirectory" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool isdirectory </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">dirent *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>de</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06167.html#l00649">649</a> of file <a class="el" href="a06167.html">path.cpp</a>.
+<p>
+<div class="fragment"><pre>00650 {
+00651 <a class="code" href="a04199.html#a6">nlassert</a> (de != NULL);
+00652 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00653 <span class="preprocessor"></span> <span class="keywordflow">return</span> ((de-&gt;dwFileAttributes &amp; FILE_ATTRIBUTE_DIRECTORY) != 0) &amp;&amp; ((de-&gt;dwFileAttributes &amp; FILE_ATTRIBUTE_SYSTEM) == 0);
+00654 <span class="preprocessor">#else</span>
+00655 <span class="preprocessor"></span> <span class="comment">//nlinfo ("isdirectory filename %s -&gt; 0x%08x", de-&gt;d_name, de-&gt;d_type);</span>
+00656 <span class="comment">// we can't use "de-&gt;d_type &amp; DT_DIR" because it s always NULL on libc2.1</span>
+00657 <span class="comment">//return (de-&gt;d_type &amp; DT_DIR) != 0;</span>
+00658
+00659 <span class="keywordflow">return</span> CFile::isDirectory (BasePathgetPathContent + de-&gt;d_name);
+00660
+00661 <span class="preprocessor">#endif // NL_OS_WINDOWS</span>
+00662 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a342" doxytag="NLMISC::isfile" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool isfile </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">dirent *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>de</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06167.html#l00664">664</a> of file <a class="el" href="a06167.html">path.cpp</a>.
+<p>
+<div class="fragment"><pre>00665 {
+00666 <a class="code" href="a04199.html#a6">nlassert</a> (de != NULL);
+00667 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00668 <span class="preprocessor"></span> <span class="keywordflow">return</span> ((de-&gt;dwFileAttributes &amp; FILE_ATTRIBUTE_DIRECTORY) == 0) &amp;&amp; ((de-&gt;dwFileAttributes &amp; FILE_ATTRIBUTE_SYSTEM) == 0);
+00669 <span class="preprocessor">#else</span>
+00670 <span class="preprocessor"></span> <span class="comment">// we can't use "de-&gt;d_type &amp; DT_DIR" because it s always NULL on libc2.1</span>
+00671 <span class="comment">//return (de-&gt;d_type &amp; DT_DIR) == 0;</span>
+00672
+00673 <span class="keywordflow">return</span> !CFile::isDirectory (BasePathgetPathContent + de-&gt;d_name);
+00674
+00675 <span class="preprocessor">#endif // NL_OS_WINDOWS</span>
+00676 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a264" doxytag="NLMISC::isPowerOf2" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::isPowerOf2 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a10">sint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return <code>true</code> if the value is a power of 2.
+<p>
+Definition at line <a class="el" href="a05586.html#l00371">371</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00099">sint32</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+Referenced by <a class="el" href="a06372.html#l00957">NL3D::CShadowMapManager::allocateTexture()</a>, <a class="el" href="a05486.html#l01422">NLMISC::CBitmap::buildMipMaps()</a>, <a class="el" href="a06768.html#l02045">NL3D::CZoneLighter::buildZoneInformation()</a>, <a class="el" href="a05864.html#l00040">NL3D::CLandscapeCollisionGrid::CLandscapeCollisionGrid()</a>, <a class="el" href="a06729.html#l00172">NL3D::CVisualCollisionManager::CStaticGrid::create()</a>, <a class="el" href="a06519.html#l00128">NL3D::CTextureFar::getFreeListId()</a>, <a class="el" href="a06519.html#l00148">NL3D::CTextureFar::getUpperSize()</a>, <a class="el" href="a06493.html#l00150">NL3D::CTessFacePriorityList::init()</a>, and <a class="el" href="a06372.html#l00234">NL3D::CShadowMapManager::renderGenerate()</a>.
+<p>
+<div class="fragment"><pre>00372 {
+00373 <span class="keywordflow">while</span>(<a class="code" href="a04223.html#a576">v</a>)
+00374 {
+00375 <span class="keywordflow">if</span>(<a class="code" href="a04223.html#a576">v</a>&amp;1)
+00376 {
+00377 <a class="code" href="a04223.html#a576">v</a>&gt;&gt;=1;
+00378 <span class="keywordflow">if</span>(<a class="code" href="a04223.html#a576">v</a>)
+00379 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00380 }
+00381 <span class="keywordflow">else</span>
+00382 <a class="code" href="a04223.html#a576">v</a>&gt;&gt;=1;
+00383 }
+00384
+00385 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00386 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a384" doxytag="NLMISC::isValidDouble" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double isValidDouble </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return true if double is a valid value (not inf nor nan)
+<p>
+Definition at line <a class="el" href="a05587.html#l00186">186</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+Referenced by <a class="el" href="a05923.html#l00067">NL3D::CLoadBalancingGroup::computeRatioAndSmooth()</a>.
+<p>
+<div class="fragment"><pre>00187 {
+00188 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00189 <span class="preprocessor"></span> <span class="keywordflow">return</span> _finite(v) &amp;&amp; !_isnan(v);
+00190 <span class="preprocessor">#else</span>
+00191 <span class="preprocessor"></span> <span class="keywordflow">return</span> !isnan(v) &amp;&amp; !isinf(v);
+00192 <span class="preprocessor">#endif</span>
+00193 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a261" doxytag="NLMISC::itoaInt64" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::itoaInt64 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a12">sint64</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>number</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a12">sint64</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>base</em> = 10</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert an sint64 into a string (same as itoa() function but for 64 bits intergers).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00308">308</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01124">num</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00101">sint64</a>, and <a class="el" href="a05646.html#l00236">x</a>.
+<p>
+<div class="fragment"><pre>00309 {
+00310 str[0] = <span class="charliteral">'\0'</span>;
+00311 <span class="keywordtype">char</span> b[256];
+00312 <span class="keywordflow">if</span>(!number)
+00313 {
+00314 str[0] = <span class="charliteral">'0'</span>;
+00315 str[1] = <span class="charliteral">'\0'</span>;
+00316 <span class="keywordflow">return</span>;
+00317 }
+00318 memset(b,<span class="charliteral">'\0'</span>,255);
+00319 memset(b,<span class="charliteral">'0'</span>,64);
+00320 <a class="code" href="a04558.html#a14">sint</a> n;
+00321 <a class="code" href="a04558.html#a12">sint64</a> <a class="code" href="a04223.html#a572">x</a> = number;
+00322 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a572">x</a> &lt; 0) <a class="code" href="a04223.html#a572">x</a> = -<a class="code" href="a04223.html#a572">x</a>;
+00323 <span class="keywordtype">char</span> baseTable[] = <span class="stringliteral">"0123456789abcdefghijklmnopqrstuvwyz"</span>;
+00324 <span class="keywordflow">for</span>(n = 0; n &lt; 64; n ++)
+00325 {
+00326 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a653">num</a> = (<a class="code" href="a04558.html#a14">sint</a>)(<a class="code" href="a04223.html#a572">x</a> % base);
+00327 b[64 - n] = baseTable[<a class="code" href="a04223.html#a653">num</a>];
+00328 <span class="keywordflow">if</span>(!<a class="code" href="a04223.html#a572">x</a>)
+00329 {
+00330 <span class="keywordtype">int</span> k;
+00331 <span class="keywordtype">int</span> j = 0;
+00332
+00333 <span class="keywordflow">if</span> (number &lt; 0)
+00334 {
+00335 str[j++] = <span class="charliteral">'-'</span>;
+00336 }
+00337
+00338 <span class="keywordflow">for</span>(k = 64 - n + 1; k &lt;= 64; k++)
+00339 {
+00340 str[j ++] = b[k];
+00341 }
+00342 str[j] = <span class="charliteral">'\0'</span>;
+00343 <span class="keywordflow">break</span>;
+00344 }
+00345 <a class="code" href="a04223.html#a572">x</a> /= base;
+00346 }
+00347 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a325" doxytag="NLMISC::KeyConversion" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03447.html">CStringConversion</a>&lt;<a class="el" href="a05378.html#a442">TKey</a>&gt; KeyConversion </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">stringTable&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>sizeof(stringTable)/sizeof(stringTable[0])&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>KeyCount&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05690.html#l00196">NLMISC::CEventKey::getKeyFromString()</a>, and <a class="el" href="a05690.html#l00202">NLMISC::CEventKey::getStringFromKey()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a279" doxytag="NLMISC::killProgram" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::killProgram </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>pid</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function kill a program using his pid (on unix, it uses the kill() POSIX function).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00677">677</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05646.html#l01119">res</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05586.html#l01002">NLMISC_COMMAND()</a>.
+<p>
+<div class="fragment"><pre>00678 {
+00679 <span class="preprocessor">#ifdef NL_OS_UNIX</span>
+00680 <span class="preprocessor"></span> <span class="keywordtype">int</span> <a class="code" href="a04223.html#a643">res</a> = kill(pid, SIGKILL);
+00681 <span class="keywordflow">if</span>(<a class="code" href="a04223.html#a643">res</a> == -1)
+00682 {
+00683 <span class="keywordtype">char</span> *err = strerror (errno);
+00684 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"Failed to kill '%d' err %d: '%s'"</span>, pid, errno, err);
+00685 }
+00686 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a643">res</a> == 0;
+00687 <span class="comment">/*#elif defined(NL_OS_WINDOWS)</span>
+00688 <span class="comment"> // it doesn't work because pid != handle and i don't know how to kill a pid or know the real handle of another service (not -1)</span>
+00689 <span class="comment"> int res = TerminateProcess((HANDLE)pid, 888);</span>
+00690 <span class="comment"> LPVOID lpMsgBuf;</span>
+00691 <span class="comment"> FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &amp;lpMsgBuf, 0, NULL);</span>
+00692 <span class="comment"> nlwarning("Failed to kill '%d' err %d: '%s'", pid, GetLastError (), lpMsgBuf);</span>
+00693 <span class="comment"> LocalFree(lpMsgBuf);</span>
+00694 <span class="comment"> return res != 0;</span>
+00695 <span class="comment">*/</span>
+00696 <span class="preprocessor">#else</span>
+00697 <span class="preprocessor"></span> <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"kill not implemented on this OS"</span>);
+00698 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00699 <span class="preprocessor">#endif</span>
+00700 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a280" doxytag="NLMISC::launchProgram" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::launchProgram </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>programName</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>arguments</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+This function execute a program in the background and returns instantly (used for example to launch services in AES). The program will be launch in the current directory
+<p>
+Definition at line <a class="el" href="a05586.html#l00702">702</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00101">nldebug</a>, <a class="el" href="a05622.html#l00135">nlwarning</a>, <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05586.html#l00990">NLMISC_COMMAND()</a>.
+<p>
+<div class="fragment"><pre>00703 {
+00704
+00705 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00706 <span class="preprocessor"></span> STARTUPINFO si;
+00707 PROCESS_INFORMATION pi;
+00708
+00709 memset(&amp;si, 0, <span class="keyword">sizeof</span>(si));
+00710 memset(&amp;pi, 0, <span class="keyword">sizeof</span>(pi));
+00711
+00712 si.cb = <span class="keyword">sizeof</span>(si);
+00713
+00714 <span class="comment">/* SECURITY_ATTRIBUTES sa;</span>
+00715 <span class="comment"> sa.nLength = sizeof (sa);</span>
+00716 <span class="comment"> sa.lpSecurityDescriptor = NULL;</span>
+00717 <span class="comment"> sa.bInheritHandle = FALSE;</span>
+00718 <span class="comment"></span>
+00719 <span class="comment"> STARTUPINFO si;</span>
+00720 <span class="comment"> si.cb = sizeof (si);</span>
+00721 <span class="comment"> si.lpReserved = NULL;</span>
+00722 <span class="comment"> si.lpDesktop = NULL;</span>
+00723 <span class="comment"> si.lpTitle = NULL;</span>
+00724 <span class="comment"> si.dwFlags = STARTF_USESHOWWINDOW;</span>
+00725 <span class="comment"> si.cbReserved2 = 0;</span>
+00726 <span class="comment"> si.wShowWindow = SW_MINIMIZE;</span>
+00727 <span class="comment"> si.lpReserved2 = NULL;</span>
+00728 <span class="comment"></span>
+00729 <span class="comment"> PROCESS_INFORMATION pi;</span>
+00730 <span class="comment">*/</span>
+00731 string arg = <span class="stringliteral">" "</span> + arguments;
+00732 BOOL <a class="code" href="a04223.html#a643">res</a> = CreateProcess(programName.c_str(), (<span class="keywordtype">char</span>*)arg.c_str(), 0, 0, FALSE, CREATE_DEFAULT_ERROR_MODE | CREATE_NO_WINDOW, 0, 0, &amp;si, &amp;pi);
+00733
+00734 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a643">res</a>)
+00735 {
+00736 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"LAUNCH: Successful launch '%s' with arg '%s'"</span>, programName.c_str(), arguments.c_str());
+00737 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00738 }
+00739 <span class="keywordflow">else</span>
+00740 {
+00741 LPVOID lpMsgBuf;
+00742 FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &amp;lpMsgBuf, 0, NULL);
+00743 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"LAUNCH: Failed launched '%s' with arg '%s' err %d: '%s'"</span>, programName.c_str(), arguments.c_str(), GetLastError (), lpMsgBuf);
+00744 LocalFree(lpMsgBuf);
+00745 }
+00746
+00747 <span class="preprocessor">#elif defined(NL_OS_UNIX)</span>
+00748 <span class="preprocessor"></span>
+00749 <span class="keyword">static</span> <span class="keywordtype">bool</span> firstLaunchProgram = <span class="keyword">true</span>;
+00750 <span class="keywordflow">if</span> (firstLaunchProgram)
+00751 {
+00752 <span class="comment">// The aim of this is to avoid defunct process.</span>
+00753 <span class="comment">//</span>
+00754 <span class="comment">// From "man signal":</span>
+00755 <span class="comment">//------</span>
+00756 <span class="comment">// According to POSIX (3.3.1.3) it is unspecified what happens when SIGCHLD is set to SIG_IGN. Here</span>
+00757 <span class="comment">// the BSD and SYSV behaviours differ, causing BSD software that sets the action for SIGCHLD to</span>
+00758 <span class="comment">// SIG_IGN to fail on Linux.</span>
+00759 <span class="comment">//------</span>
+00760 <span class="comment">//</span>
+00761 <span class="comment">// But it works fine on my GNU/Linux so I do this because it's easier :) and I don't know exactly</span>
+00762 <span class="comment">// what to do to be portable.</span>
+00763 signal(SIGCHLD,SIG_IGN);
+00764
+00765 firstLaunchProgram = <span class="keyword">false</span>;
+00766 }
+00767
+00768 <span class="keywordtype">int</span> status = vfork ();
+00769 <span class="keywordflow">if</span> (status == -1)
+00770 {
+00771 <span class="keywordtype">char</span> *err = strerror (errno);
+00772 <a class="code" href="a04199.html#a2">nlwarning</a>(<span class="stringliteral">"LAUNCH: Failed launched '%s' with arg '%s' err %d: '%s'"</span>, programName.c_str(), arguments.c_str(), errno, err);
+00773 }
+00774 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (status == 0)
+00775 {
+00776 <span class="comment">// convert one arg into several args</span>
+00777 vector&lt;string&gt; args;
+00778 <span class="keywordtype">char</span> *argv[15];
+00779
+00780 <a class="code" href="a04558.html#a11">uint32</a> pos1 = 0, pos2 = 0;
+00781
+00782 <span class="keywordflow">do</span>
+00783 {
+00784 pos1 = arguments.find_first_not_of (<span class="stringliteral">" "</span>, pos2);
+00785 <span class="keywordflow">if</span> (pos1 == string::npos) <span class="keywordflow">break</span>;
+00786 pos2 = arguments.find_first_of (<span class="stringliteral">" "</span>, pos1);
+00787 args.push_back (arguments.substr (pos1, pos2-pos1));
+00788 }
+00789 <span class="keywordflow">while</span> (pos2 != string::npos);
+00790
+00791 <a class="code" href="a04199.html#a6">nlassert</a> (args.size() &lt; 15);
+00792
+00793 <a class="code" href="a04558.html#a15">uint</a> i = 0;
+00794 argv[i] = (<span class="keywordtype">char</span> *)programName.c_str();
+00795 <span class="keywordflow">for</span> (; i &lt; args.size(); i++)
+00796 {
+00797 argv[i+1] = (<span class="keywordtype">char</span> *) args[i].c_str();
+00798 }
+00799 argv[i+1] = NULL;
+00800
+00801 status = execvp(programName.c_str(), argv);
+00802 <span class="keywordflow">if</span> (status == -1)
+00803 {
+00804 perror(<span class="stringliteral">"Failed launched"</span>);
+00805 _exit(EXIT_FAILURE);
+00806 }
+00807 }
+00808 <span class="keywordflow">else</span>
+00809 {
+00810 <a class="code" href="a04199.html#a0">nldebug</a>(<span class="stringliteral">"LAUNCH: Successful launch '%s' with arg '%s'"</span>, programName.c_str(), arguments.c_str());
+00811 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00812 }
+00813 <span class="preprocessor">#else</span>
+00814 <span class="preprocessor"></span> <a class="code" href="a04199.html#a2">nlwarning</a> (<span class="stringliteral">"LAUNCH: launchProgram() not implemented"</span>);
+00815 <span class="preprocessor">#endif</span>
+00816 <span class="preprocessor"></span>
+00817 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00818
+00819 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a380" doxytag="NLMISC::maxof" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> T maxof </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>e</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05587.html#l00134">134</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00130">maxof()</a>.
+<p>
+<div class="fragment"><pre>00135 {<span class="keywordflow">return</span> std::max(<a class="code" href="a05378.html#a378">maxof</a>(a,b,c,d),e);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a379" doxytag="NLMISC::maxof" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> T maxof </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>d</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05587.html#l00132">132</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00130">maxof()</a>.
+<p>
+<div class="fragment"><pre>00133 {<span class="keywordflow">return</span> std::max(<a class="code" href="a05378.html#a378">maxof</a>(a,b,c),d);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a378" doxytag="NLMISC::maxof" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> T maxof </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05587.html#l00130">130</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+Referenced by <a class="el" href="a06339.html#l00609">NLMISC::CRGBA::convertToHLS()</a>, and <a class="el" href="a05587.html#l00132">maxof()</a>.
+<p>
+<div class="fragment"><pre>00131 {<span class="keywordflow">return</span> std::max(std::max(a,b),c);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a377" doxytag="NLMISC::minof" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> T minof </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>d</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>e</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05587.html#l00128">128</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05484.html#l00038">min</a>, and <a class="el" href="a05587.html#l00124">minof()</a>.
+<p>
+<div class="fragment"><pre>00129 {<span class="keywordflow">return</span> <a class="code" href="a04061.html#a0">std::min</a>(<a class="code" href="a05378.html#a375">minof</a>(a,b,c,d),e);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a376" doxytag="NLMISC::minof" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> T minof </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>d</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05587.html#l00126">126</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05484.html#l00038">min</a>, and <a class="el" href="a05587.html#l00124">minof()</a>.
+<p>
+<div class="fragment"><pre>00127 {<span class="keywordflow">return</span> <a class="code" href="a04061.html#a0">std::min</a>(<a class="code" href="a05378.html#a375">minof</a>(a,b,c),d);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a375" doxytag="NLMISC::minof" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> T minof </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>a</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>b</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+MIN/MAX extended functions.
+<p>
+Definition at line <a class="el" href="a05587.html#l00124">124</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05484.html#l00038">min</a>.
+<p>
+Referenced by <a class="el" href="a06339.html#l00609">NLMISC::CRGBA::convertToHLS()</a>, <a class="el" href="a05587.html#l00126">minof()</a>, <a class="el" href="a05565.html#l00270">NLSOUND::CClusteredSound::update()</a>, and <a class="el" href="a05385.html#l00164">NLMISC::CAABBoxExt::updateRadius()</a>.
+<p>
+<div class="fragment"><pre>00125 {<span class="keywordflow">return</span> <a class="code" href="a04061.html#a0">std::min</a>(std::min(a,b),c);}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a346" doxytag="NLMISC::Next" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> CPolygon2D::TVec2fVect::const_iterator Next </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CPolygon2D::TVec2fVect::const_iterator &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>it</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CPolygon2D::TVec2fVect &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>cont</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06190.html#l01057">1057</a> of file <a class="el" href="a06190.html">polygon.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06191.html#l00125">NLMISC::CPolygon2D::TVec2fVect</a>.
+<p>
+Referenced by <a class="el" href="a06190.html#l01075">NLMISC::CPolygon2D::computeBorders()</a>.
+<p>
+<div class="fragment"><pre>01058 {
+01059 <a class="code" href="a04199.html#a6">nlassert</a>(cont.size() != 0);
+01060 <span class="keywordflow">if</span> ((it + 1) == cont.end()) <span class="keywordflow">return</span> cont.begin();
+01061 <span class="keywordflow">return</span> (it + 1);
+01062 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a245" doxytag="NLMISC::NL_TRIVIAL_TYPE_TRAITS" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NL_TRIVIAL_TYPE_TRAITS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03083.html">NL3D::CPlaneBasis</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="a294" doxytag="NLMISC::nlError" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::nlError </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>format</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>...&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Never use this function but call the nlerror macro (internal use only).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00134">134</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01016">format</a>, <a class="el" href="a05622.html#l00270">NLMISC_BREAKPOINT</a>, and <a class="el" href="a06465.html#l00070">NLMISC_CONVERT_VARGS</a>.
+<p>
+Referenced by <a class="el" href="a06138.html#l00495">NLNET::cbPacsAnswer()</a>.
+<p>
+<div class="fragment"><pre>00135 {
+00136 <span class="keywordtype">char</span> *str;
+00137 <a class="code" href="a05042.html#a0">NLMISC_CONVERT_VARGS</a> (str, format, 256<span class="comment">/*NLMISC::MaxCStringSize*/</span>);
+00138
+00139 NLMISC::DebugNeedAssert = NLMISC::DefaultMsgBoxDisplayer==0;
+00140
+00141 NLMISC::ErrorLog-&gt;displayNL (str);
+00142
+00143 <span class="keywordflow">if</span> (NLMISC::DebugNeedAssert)
+00144 <a class="code" href="a04199.html#a5">NLMISC_BREAKPOINT</a>;
+00145
+00146 <span class="preprocessor">#ifndef NL_OS_WINDOWS</span>
+00147 <span class="preprocessor"></span><span class="comment">// exit(EXIT_FAILURE);</span>
+00148 abort ();
+00149 <span class="preprocessor">#endif</span>
+00150 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a293" doxytag="NLMISC::nlFatalError" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::nlFatalError </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>format</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>...&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Never use this function (internal use only).
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00115">115</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01016">format</a>, <a class="el" href="a05622.html#l00270">NLMISC_BREAKPOINT</a>, and <a class="el" href="a06465.html#l00070">NLMISC_CONVERT_VARGS</a>.
+<p>
+<div class="fragment"><pre>00116 {
+00117 <span class="keywordtype">char</span> *str;
+00118 <a class="code" href="a05042.html#a0">NLMISC_CONVERT_VARGS</a> (str, format, 256<span class="comment">/*NLMISC::MaxCStringSize*/</span>);
+00119
+00120 NLMISC::DebugNeedAssert = NLMISC::DefaultMsgBoxDisplayer==0;
+00121
+00122 NLMISC::ErrorLog-&gt;displayNL (str);
+00123
+00124 <span class="keywordflow">if</span> (NLMISC::DebugNeedAssert)
+00125 <a class="code" href="a04199.html#a5">NLMISC_BREAKPOINT</a>;
+00126
+00127 <span class="preprocessor">#ifndef NL_OS_WINDOWS</span>
+00128 <span class="preprocessor"></span> <span class="comment">// exit(EXIT_FAILURE);</span>
+00129 abort ();
+00130 <span class="preprocessor">#endif</span>
+00131 <span class="preprocessor"></span>
+00132 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a284" doxytag="NLMISC::nlfseek64" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int NLMISC::nlfseek64 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">FILE *&nbsp;</td>
+ <td class="mdname" nowrap> <em>stream</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a12">sint64</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>offset</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap> <em>origin</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Signed 64 bit fseek. Same interface than fseek
+<p>
+Definition at line <a class="el" href="a05586.html#l00903">903</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05646.html#l00645">offset</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00101">sint64</a>, and <a class="el" href="a06590.html#l00246">SINT64_CONSTANT</a>.
+<p>
+Referenced by <a class="el" href="a05480.html#l00086">NLMISC::CBigFile::add()</a>, <a class="el" href="a05708.html#l00135">NLMISC::CIFile::open()</a>, <a class="el" href="a05708.html#l00586">NLMISC::COFile::seek()</a>, and <a class="el" href="a05708.html#l00404">NLMISC::CIFile::seek()</a>.
+<p>
+<div class="fragment"><pre>00904 {
+00905 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00906 <span class="preprocessor"></span>
+00907 <span class="comment">//</span>
+00908 fpos_t pos64 = 0;
+00909 <span class="keywordflow">switch</span> (origin)
+00910 {
+00911 <span class="keywordflow">case</span> SEEK_CUR:
+00912 <span class="keywordflow">if</span> (fgetpos(stream, &amp;pos64) != 0)
+00913 <span class="keywordflow">return</span> -1;
+00914 <span class="keywordflow">case</span> SEEK_END:
+00915 pos64 = _filelengthi64(_fileno(stream));
+00916 <span class="keywordflow">if</span> (pos64 == -1L)
+00917 <span class="keywordflow">return</span> -1;
+00918 };
+00919
+00920 <span class="comment">// Seek</span>
+00921 pos64 += <a class="code" href="a04223.html#a586">offset</a>;
+00922
+00923 <span class="comment">// Set the final position</span>
+00924 <span class="keywordflow">return</span> fsetpos (stream, &amp;pos64);
+00925
+00926 <span class="preprocessor">#else // NL_OS_WINDOWS</span>
+00927 <span class="preprocessor"></span>
+00928 <span class="comment">// This code doesn't work under windows : fseek() implementation uses a signed 32 bits offset. What ever we do, it can't seek more than 2 Go.</span>
+00929 <span class="comment">// For the moment, i don't know if it works under linux for seek of more than 2 Go.</span>
+00930
+00931 <a class="code" href="a04199.html#a6">nlassert</a> ((offset &lt; SINT64_CONSTANT(2147483647)) &amp;&amp; (offset &gt; <a class="code" href="a05167.html#a6">SINT64_CONSTANT</a>(-2147483648)));
+00932
+00933 <span class="keywordtype">bool</span> first = <span class="keyword">true</span>;
+00934 <span class="keywordflow">do</span>
+00935 {
+00936 <span class="comment">// Get the size of the next fseek</span>
+00937 <a class="code" href="a04558.html#a14">sint</a> nextSeek;
+00938 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a586">offset</a> &gt; 0)
+00939 nextSeek = (<a class="code" href="a04558.html#a14">sint</a>)<a class="code" href="a04061.html#a0">std::min</a> (<a class="code" href="a05167.html#a6">SINT64_CONSTANT</a>(2147483647), offset);
+00940 <span class="keywordflow">else</span>
+00941 nextSeek = (<a class="code" href="a04558.html#a14">sint</a>)std::max (-<a class="code" href="a05167.html#a6">SINT64_CONSTANT</a>(2147483648), offset);
+00942
+00943 <span class="comment">// Make a seek</span>
+00944 <span class="keywordtype">int</span> result = fseek ( stream, nextSeek, first?origin:SEEK_CUR );
+00945 <span class="keywordflow">if</span> (result != 0)
+00946 <span class="keywordflow">return</span> result;
+00947
+00948 <span class="comment">// Remaining</span>
+00949 <a class="code" href="a04223.html#a586">offset</a> -= nextSeek;
+00950 first = <span class="keyword">false</span>;
+00951 }
+00952 <span class="keywordflow">while</span> (<a class="code" href="a04223.html#a586">offset</a>);
+00953
+00954 <span class="keywordflow">return</span> 0;
+00955
+00956 <span class="preprocessor">#endif // NL_OS_WINDOWS</span>
+00957 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a331" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">displayMeasures&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"display hierarchical timer"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap>[depth]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05787.html#l01020">1020</a> of file <a class="el" href="a05787.html">hierarchical_timer.cpp</a>.
+<p>
+<div class="fragment"><pre>01021 {
+01022 <span class="keywordflow">if</span> (args.size() &lt; 1)
+01023 {
+01024 CHTimer::display(&amp;log);
+01025 CHTimer::displayHierarchicalByExecutionPathSorted (&amp;log, CHTimer::TotalTime, <span class="keyword">true</span>, 64);
+01026 }
+01027 <span class="keywordflow">else</span>
+01028 {
+01029 CHTimer::displaySummary(&amp;log, CHTimer::TotalTime, <span class="keyword">true</span>, 64, 2, atoi(args[0].c_str()));
+01030 }
+01031
+01032 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01033 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a324" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">playerInfo&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Get informations about a player or all players <a class="el" href="a04223.html#a647">in</a> CEntityIdTranslator"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap>[&lt; entityname &gt;|&lt; eid &gt;|&lt; username &gt;|&lt; uid &gt;]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05668.html#l00687">687</a> of file <a class="el" href="a05668.html">eid_translator.cpp</a>.
+<p>
+References <a class="el" href="a05668.html#l00126">NLMISC::CEntityIdTranslator::getByEntity()</a>, <a class="el" href="a05668.html#l00092">NLMISC::CEntityIdTranslator::getByUser()</a>, <a class="el" href="a05668.html#l00493">NLMISC::CEntityIdTranslator::getEntityIdInfo()</a>, <a class="el" href="a05669.html#l00112">NLMISC::CEntityIdTranslator::getRegisteredEntities()</a>, <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a05673.html#l00251">NLMISC::CEntityId::setCreatorId()</a>, <a class="el" href="a05673.html#l00239">NLMISC::CEntityId::setDynamicId()</a>, <a class="el" href="a05981.html#l00097">sint16</a>, <a class="el" href="a05981.html#l00095">sint8</a>, <a class="el" href="a06640.html#l00133">ucstring::toString()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00688 {
+00689 <span class="keywordflow">if</span> (args.size () == 0)
+00690 {
+00691 <span class="keyword">const</span> map&lt;CEntityId, CEntityIdTranslator::CEntity&gt; &amp;<a class="code" href="a04223.html#a643">res</a> = CEntityIdTranslator::getInstance()-&gt;getRegisteredEntities ();
+00692 log.displayNL(<span class="stringliteral">"%d result(s) for 'all players informations'"</span>, <a class="code" href="a04223.html#a643">res</a>.size());
+00693 <span class="keywordflow">for</span> (map&lt;CEntityId, CEntityIdTranslator::CEntity&gt;::const_iterator it = <a class="code" href="a04223.html#a643">res</a>.begin(); it != <a class="code" href="a04223.html#a643">res</a>.end(); it++)
+00694 {
+00695 log.displayNL(<span class="stringliteral">"UId %d UserName '%s' EId %s EntityName '%s' EntitySlot %hd %s"</span>, (*it).second.UId, (*it).second.UserName.c_str(), (*it).first.toString().c_str(), (*it).second.EntityName.toString().c_str(), (<a class="code" href="a04558.html#a8">sint16</a>)((*it).second.EntitySlot), ((*it).second.Online?<span class="stringliteral">"Online"</span>:<span class="stringliteral">"Offline"</span>));
+00696 }
+00697
+00698 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00699 }
+00700 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (args.size () == 1)
+00701 {
+00702 vector&lt;CEntityId&gt; <a class="code" href="a04223.html#a643">res</a>;
+00703
+00704 <a class="code" href="a02189.html">CEntityId</a> eid (args[0].c_str());
+00705 <a class="code" href="a04558.html#a11">uint32</a> uid = atoi (args[0].c_str());
+00706
+00707 <span class="keywordflow">if</span> (eid != CEntityId::Unknown)
+00708 {
+00709 <span class="comment">// we have to remove the crea and dyna because it can changed dynamically and will not be found in the storage array</span>
+00710 eid.<a class="code" href="a02189.html#NLAIAGENT_1_1CIdenta26">setCreatorId</a>(0);
+00711 eid.<a class="code" href="a02189.html#NLAIAGENT_1_1CIdenta27">setDynamicId</a>(0);
+00712
+00713 <a class="code" href="a04223.html#a643">res</a>.push_back(eid);
+00714 }
+00715 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (uid != 0)
+00716 {
+00717 <span class="comment">// the parameter is an uid</span>
+00718 CEntityIdTranslator::getInstance()-&gt;getByUser (uid, res);
+00719 }
+00720 <span class="keywordflow">else</span>
+00721 {
+00722 CEntityIdTranslator::getInstance()-&gt;getByUser (args[0], res, <span class="keyword">false</span>);
+00723
+00724 CEntityIdTranslator::getInstance()-&gt;getByEntity (args[0], res, <span class="keyword">false</span>);
+00725 }
+00726
+00727 log.displayNL(<span class="stringliteral">"%d result(s) for '%s'"</span>, <a class="code" href="a04223.html#a643">res</a>.size(), args[0].c_str());
+00728 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i &lt; <a class="code" href="a04223.html#a643">res</a>.size(); i++)
+00729 {
+00730 <a class="code" href="a03924.html">ucstring</a> entityName;
+00731 <a class="code" href="a04558.html#a6">sint8</a> entitySlot;
+00732 <a class="code" href="a04558.html#a11">uint32</a> uid2;
+00733 string userName;
+00734 <span class="keywordtype">bool</span> online;
+00735 CEntityIdTranslator::getInstance()-&gt;getEntityIdInfo (res[i], entityName, entitySlot, uid2, userName, online);
+00736
+00737 log.displayNL(<span class="stringliteral">"UId %d UserName '%s' EId %s EntityName '%s' EntitySlot %hd %s"</span>, uid2, userName.c_str(), <a class="code" href="a04223.html#a643">res</a>[i].toString().c_str(), entityName.<a class="code" href="a03924.html#ucstringa11">toString</a>().c_str(), (<a class="code" href="a04558.html#a8">sint16</a>)entitySlot, (online?<span class="stringliteral">"Online"</span>:<span class="stringliteral">"Offline"</span>));
+00738 }
+00739
+00740 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00741 }
+00742
+00743 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00744 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a323" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">entityNameValid&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Tell if an entity name is valid or not using CEntityIdTranslator validation rulez"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; entityname &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05668.html#l00664">664</a> of file <a class="el" href="a05668.html">eid_translator.cpp</a>.
+<p>
+References <a class="el" href="a05668.html#l00249">NLMISC::CEntityIdTranslator::entityNameExists()</a>, and <a class="el" href="a05668.html#l00177">NLMISC::CEntityIdTranslator::isValidEntityName()</a>.
+<p>
+<div class="fragment"><pre>00665 {
+00666 <span class="keywordflow">if</span> (args.size () != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00667
+00668 <span class="keywordflow">if</span>(!CEntityIdTranslator::getInstance()-&gt;isValidEntityName(args[0], &amp;log))
+00669 {
+00670 log.displayNL(<span class="stringliteral">"Entity name '%s' is not valid"</span>, args[0].c_str());
+00671 }
+00672 <span class="keywordflow">else</span>
+00673 {
+00674 <span class="keywordflow">if</span> (CEntityIdTranslator::getInstance()-&gt;entityNameExists(args[0]))
+00675 {
+00676 log.displayNL(<span class="stringliteral">"Entity name '%s' is already used by another player"</span>, args[0].c_str());
+00677 }
+00678 <span class="keywordflow">else</span>
+00679 {
+00680 log.displayNL(<span class="stringliteral">"Entity name '%s' is available"</span>, args[0].c_str());
+00681 }
+00682 }
+00683
+00684 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00685 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a322" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">findEIdByEntity&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Find entity <a class="el" href="a04223.html#a564">id</a> using the entity name"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; entityname &gt;|&lt; eid &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05668.html#l00633">633</a> of file <a class="el" href="a05668.html">eid_translator.cpp</a>.
+<p>
+References <a class="el" href="a05668.html#l00126">NLMISC::CEntityIdTranslator::getByEntity()</a>, <a class="el" href="a05668.html#l00493">NLMISC::CEntityIdTranslator::getEntityIdInfo()</a>, <a class="el" href="a05981.html#l00097">sint16</a>, <a class="el" href="a05981.html#l00095">sint8</a>, <a class="el" href="a06640.html#l00133">ucstring::toString()</a>, <a class="el" href="a05673.html#l00480">NLMISC::CEntityId::toString()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00634 {
+00635 <span class="keywordflow">if</span> (args.size () != 1)
+00636 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00637
+00638 <a class="code" href="a02189.html">CEntityId</a> eid (args[0].c_str());
+00639
+00640 <span class="keywordflow">if</span> (eid == CEntityId::Unknown)
+00641 {
+00642 eid = CEntityIdTranslator::getInstance()-&gt;getByEntity(args[0]);
+00643 }
+00644
+00645 <span class="keywordflow">if</span> (eid == CEntityId::Unknown)
+00646 {
+00647 log.displayNL(<span class="stringliteral">"'%s' is not an eid or an entity name"</span>, args[0].c_str());
+00648 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00649 }
+00650
+00651 <a class="code" href="a03924.html">ucstring</a> entityName;
+00652 <a class="code" href="a04558.html#a6">sint8</a> entitySlot;
+00653 <a class="code" href="a04558.html#a11">uint32</a> uid;
+00654 string userName;
+00655 <span class="keywordtype">bool</span> online;
+00656
+00657 CEntityIdTranslator::getInstance()-&gt;getEntityIdInfo(eid, entityName, entitySlot, uid, userName, online);
+00658
+00659 log.displayNL(<span class="stringliteral">"UId %d UserName '%s' EId %s EntityName '%s' EntitySlot %hd %s"</span>, uid, userName.c_str(), eid.<a class="code" href="a02189.html#NLAIAGENT_1_1CIdenta31">toString</a>().c_str(), entityName.<a class="code" href="a03924.html#ucstringa11">toString</a>().c_str(), (<a class="code" href="a04558.html#a8">sint16</a>)entitySlot, (online?<span class="stringliteral">"Online"</span>:<span class="stringliteral">"Offline"</span>));
+00660
+00661 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00662 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a321" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">findEIdByUser&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Find entity ids using the user name"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; username &gt;|&lt; uid &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05668.html#l00603">603</a> of file <a class="el" href="a05668.html">eid_translator.cpp</a>.
+<p>
+References <a class="el" href="a05668.html#l00092">NLMISC::CEntityIdTranslator::getByUser()</a>, <a class="el" href="a05668.html#l00467">NLMISC::CEntityIdTranslator::getUId()</a>, <a class="el" href="a05668.html#l00480">NLMISC::CEntityIdTranslator::getUserName()</a>, <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a06229.html#l02652">toString()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00604 {
+00605 <span class="keywordflow">if</span> (args.size () != 1)
+00606 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00607
+00608 vector&lt;CEntityId&gt; <a class="code" href="a04223.html#a643">res</a>;
+00609
+00610 string userName = args[0];
+00611 <a class="code" href="a04558.html#a11">uint32</a> uid = atoi (userName.c_str());
+00612
+00613 <span class="keywordflow">if</span> (uid != 0)
+00614 {
+00615 CEntityIdTranslator::getInstance()-&gt;getByUser(uid, res);
+00616 userName = CEntityIdTranslator::getInstance()-&gt;getUserName(uid);
+00617 }
+00618 <span class="keywordflow">else</span>
+00619 {
+00620 CEntityIdTranslator::getInstance()-&gt;getByUser(userName, res);
+00621 CEntityIdTranslator::getInstance()-&gt;getUId(userName);
+00622 }
+00623
+00624 log.displayNL(<span class="stringliteral">"User Name '%s' (uid=%d) has %d entities:"</span>, userName.c_str(), uid, <a class="code" href="a04223.html#a643">res</a>.size());
+00625 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0 ; i &lt; <a class="code" href="a04223.html#a643">res</a>.size(); i++)
+00626 {
+00627 log.displayNL(<span class="stringliteral">"&gt; %s %s"</span>, res[i].<a class="code" href="a05378.html#a244">toString</a>().c_str(), CEntityIdTranslator::getInstance()-&gt;getByEntity (res[i]).c_str());
+00628 }
+00629
+00630 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00631 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a319" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">readaccess&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"read a <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a04223.html#a658">value</a> <a class="el" href="a04223.html#a647">in</a> an invalid <a class="el" href="a04223.html#a569">address</a>"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap>[&lt; adr &gt;]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01194">1194</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00098">uint16</a>, <a class="el" href="a05981.html#l00102">uint64</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>01195 {
+01196 <a class="code" href="a04558.html#a7">uint8</a> val;
+01197 <a class="code" href="a04558.html#a7">uint8</a> *adr = (<a class="code" href="a04558.html#a7">uint8</a>*)0;
+01198 <span class="keywordflow">if</span>(args.size() == 1)
+01199 <span class="preprocessor">#ifdef HAVE_X86_64</span>
+01200 <span class="preprocessor"></span> adr = (<a class="code" href="a04558.html#a7">uint8</a>*)(<a class="code" href="a04558.html#a13">uint64</a>)atoi(args[0].c_str());
+01201 <span class="preprocessor">#else</span>
+01202 <span class="preprocessor"></span> adr = (<a class="code" href="a04558.html#a7">uint8</a>*)atoi(args[0].c_str());
+01203 <span class="preprocessor">#endif</span>
+01204 <span class="preprocessor"></span> val = *adr;
+01205 log.displayNL(<span class="stringliteral">"value is %hu"</span>, (<a class="code" href="a04558.html#a9">uint16</a>)val);
+01206 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01207 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a318" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">writeaccess&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"write a <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a04223.html#a658">value</a> <a class="el" href="a04223.html#a647">in</a> an invalid <a class="el" href="a04223.html#a569">address</a>"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"]"&nbsp;</td>
+ <td class="mdname" nowrap>[&lt; adr &gt;[&lt; value &gt;]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01179">1179</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00102">uint64</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>01180 {
+01181 <a class="code" href="a04558.html#a7">uint8</a> val = 123;
+01182 <a class="code" href="a04558.html#a7">uint8</a> *adr = (<a class="code" href="a04558.html#a7">uint8</a>*)0;
+01183 <span class="keywordflow">if</span>(args.size() &gt;= 1)
+01184 <span class="preprocessor">#ifdef HAVE_X86_64</span>
+01185 <span class="preprocessor"></span> adr = (<a class="code" href="a04558.html#a7">uint8</a>*)(<a class="code" href="a04558.html#a13">uint64</a>)atoi(args[0].c_str());
+01186 <span class="preprocessor">#else</span>
+01187 <span class="preprocessor"></span> adr = (<a class="code" href="a04558.html#a7">uint8</a>*)atoi(args[0].c_str());
+01188 <span class="preprocessor">#endif</span>
+01189 <span class="preprocessor"></span> <span class="keywordflow">if</span>(args.size() &gt;= 2) val = (<a class="code" href="a04558.html#a7">uint8</a>)atoi(args[1].c_str());
+01190 *adr = val;
+01191 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01192 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a317" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">divbyzero&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"generate a divide by zero"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01171">1171</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+<div class="fragment"><pre>01172 {
+01173 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01174 <span class="keywordtype">float</span> a=10,b=0;
+01175 a /= b;
+01176 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01177 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a316" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">abort&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"generate a abort()"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01164">1164</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+<div class="fragment"><pre>01165 {
+01166 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01167 abort();
+01168 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01169 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a315" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">stop&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"generate a nlstop()"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01157">1157</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00460">nlstopex</a>.
+<p>
+<div class="fragment"><pre>01158 {
+01159 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01160 <a class="code" href="a04199.html#a14">nlstopex</a> ((<span class="stringliteral">"Stop generated by the stop command"</span>));
+01161 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01162 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a314" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">assert&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"generate a failed nlassert()"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01150">1150</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00333">nlassertex</a>.
+<p>
+<div class="fragment"><pre>01151 {
+01152 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01153 <a class="code" href="a04199.html#a8">nlassertex</a> (<span class="keyword">false</span>, (<span class="stringliteral">"Assert generated by the assert command"</span>));
+01154 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01155 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a313" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">displayFilterWarning&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"display filter on WarningLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01141">1141</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00572">NLMISC::CLog::displayFilter()</a>, and <a class="el" href="a05621.html#l00090">WarningLog</a>.
+<p>
+<div class="fragment"><pre>01142 {
+01143 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01144 <a class="code" href="a05378.html#a11">WarningLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga6">displayFilter</a>(log);
+01145 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01146 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a312" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">removeFilterWarning&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"remove a filter on WarningLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap>[&lt; filterstr &gt;]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01131">1131</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00556">NLMISC::CLog::removeFilter()</a>, and <a class="el" href="a05621.html#l00090">WarningLog</a>.
+<p>
+<div class="fragment"><pre>01132 {
+01133 <span class="keywordflow">if</span>(args.size() == 0)
+01134 <a class="code" href="a05378.html#a11">WarningLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga17">removeFilter</a>();
+01135 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(args.size() == 1)
+01136 <a class="code" href="a05378.html#a11">WarningLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga17">removeFilter</a>( args[0].c_str() );
+01137 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01138 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01139 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a311" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">addNegativeFilterWarning&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"add a negative filter on WarningLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; filterstr &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01124">1124</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00593">NLMISC::CLog::addNegativeFilter()</a>, and <a class="el" href="a05621.html#l00090">WarningLog</a>.
+<p>
+<div class="fragment"><pre>01125 {
+01126 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01127 <a class="code" href="a05378.html#a11">WarningLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga1">addNegativeFilter</a>( args[0].c_str() );
+01128 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01129 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a310" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">addPositiveFilterWarning&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"add a positive filter on WarningLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; filterstr &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01117">1117</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00587">NLMISC::CLog::addPositiveFilter()</a>, and <a class="el" href="a05621.html#l00090">WarningLog</a>.
+<p>
+<div class="fragment"><pre>01118 {
+01119 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01120 <a class="code" href="a05378.html#a11">WarningLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga2">addPositiveFilter</a>( args[0].c_str() );
+01121 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01122 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a309" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">displayFilterInfo&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"display filter on InfoLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap>[d|i|w|e]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01094">1094</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05621.html#l00092">DebugLog</a>, <a class="el" href="a05943.html#l00572">NLMISC::CLog::displayFilter()</a>, <a class="el" href="a05621.html#l00089">ErrorLog</a>, <a class="el" href="a05621.html#l00091">InfoLog</a>, and <a class="el" href="a05621.html#l00090">WarningLog</a>.
+<p>
+<div class="fragment"><pre>01095 {
+01096 <span class="keywordflow">if</span>(args.size() &gt; 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01097 <span class="keywordflow">if</span> ( args.size() == 1 )
+01098 {
+01099 <span class="keywordflow">if</span> ( strcmp( args[0].c_str(), <span class="stringliteral">"d"</span> ) == 0 )
+01100 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga6">displayFilter</a>(*DebugLog);
+01101 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( strcmp( args[0].c_str(), <span class="stringliteral">"i"</span> ) == 0 )
+01102 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga6">displayFilter</a>(*InfoLog);
+01103 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( strcmp( args[0].c_str(), <span class="stringliteral">"w"</span> ) == 0 )
+01104 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga6">displayFilter</a>(*WarningLog);
+01105 <span class="keywordflow">else</span> <span class="keywordflow">if</span> ( strcmp( args[0].c_str(), <span class="stringliteral">"e"</span> ) == 0 )
+01106 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga6">displayFilter</a>(*ErrorLog);
+01107 <span class="keywordflow">else</span>
+01108 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01109 }
+01110 <span class="keywordflow">else</span>
+01111 {
+01112 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga6">displayFilter</a>(log);
+01113 }
+01114 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01115 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a308" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">removeFilterInfo&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"remove a filter on InfoLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap>[&lt; filterstr &gt;]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01084">1084</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05621.html#l00091">InfoLog</a>, and <a class="el" href="a05943.html#l00556">NLMISC::CLog::removeFilter()</a>.
+<p>
+<div class="fragment"><pre>01085 {
+01086 <span class="keywordflow">if</span>(args.size() == 0)
+01087 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga17">removeFilter</a>();
+01088 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(args.size() == 1)
+01089 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga17">removeFilter</a>( args[0].c_str() );
+01090 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01091 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01092 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a307" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">addNegativeFilterInfo&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"add a negative filter on InfoLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; filterstr &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01077">1077</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00593">NLMISC::CLog::addNegativeFilter()</a>, and <a class="el" href="a05621.html#l00091">InfoLog</a>.
+<p>
+<div class="fragment"><pre>01078 {
+01079 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01080 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga1">addNegativeFilter</a>( args[0].c_str() );
+01081 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01082 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a306" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">addPositiveFilterInfo&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"add a positive filter on InfoLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; filterstr &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01070">1070</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00587">NLMISC::CLog::addPositiveFilter()</a>, and <a class="el" href="a05621.html#l00091">InfoLog</a>.
+<p>
+<div class="fragment"><pre>01071 {
+01072 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01073 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga2">addPositiveFilter</a>( args[0].c_str() );
+01074 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01075 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a305" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">displayFilterDebug&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"display filter on DebugLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01063">1063</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05621.html#l00092">DebugLog</a>, and <a class="el" href="a05943.html#l00572">NLMISC::CLog::displayFilter()</a>.
+<p>
+<div class="fragment"><pre>01064 {
+01065 <span class="keywordflow">if</span>(args.size() != 0) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01066 <a class="code" href="a05378.html#a13">DebugLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga6">displayFilter</a>(log);
+01067 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01068 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a304" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">removeFilterDebug&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"remove a filter on DebugLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap>[&lt; filterstr &gt;]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01053">1053</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05621.html#l00092">DebugLog</a>, and <a class="el" href="a05943.html#l00556">NLMISC::CLog::removeFilter()</a>.
+<p>
+<div class="fragment"><pre>01054 {
+01055 <span class="keywordflow">if</span>(args.size() == 0)
+01056 <a class="code" href="a05378.html#a13">DebugLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga17">removeFilter</a>();
+01057 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(args.size() == 1)
+01058 <a class="code" href="a05378.html#a13">DebugLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga17">removeFilter</a>( args[0].c_str() );
+01059 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01060 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01061 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a303" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">addNegativeFilterDebug&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"add a negative filter on DebugLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; filterstr &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01046">1046</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00593">NLMISC::CLog::addNegativeFilter()</a>, and <a class="el" href="a05621.html#l00092">DebugLog</a>.
+<p>
+<div class="fragment"><pre>01047 {
+01048 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01049 <a class="code" href="a05378.html#a13">DebugLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga1">addNegativeFilter</a>( args[0].c_str() );
+01050 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01051 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a302" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">addPositiveFilterDebug&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"add a positive filter on DebugLog"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; filterstr &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01039">1039</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05943.html#l00587">NLMISC::CLog::addPositiveFilter()</a>, and <a class="el" href="a05621.html#l00092">DebugLog</a>.
+<p>
+<div class="fragment"><pre>01040 {
+01041 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01042 <a class="code" href="a05378.html#a13">DebugLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga2">addPositiveFilter</a>( args[0].c_str() );
+01043 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01044 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a301" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">resetFilters&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"disable all filters on Nel loggers"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap>[debug|info|warning|error|assert]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l01013">1013</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05621.html#l00093">AssertLog</a>, <a class="el" href="a05621.html#l00092">DebugLog</a>, <a class="el" href="a05621.html#l00089">ErrorLog</a>, <a class="el" href="a05621.html#l00091">InfoLog</a>, <a class="el" href="a05943.html#l00599">NLMISC::CLog::resetFilters()</a>, and <a class="el" href="a05621.html#l00090">WarningLog</a>.
+<p>
+<div class="fragment"><pre>01014 {
+01015 <span class="keywordflow">if</span>(args.size() == 0)
+01016 {
+01017 <a class="code" href="a05378.html#a13">DebugLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga18">resetFilters</a>();
+01018 <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga18">resetFilters</a>();
+01019 <a class="code" href="a05378.html#a11">WarningLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga18">resetFilters</a>();
+01020 <a class="code" href="a05378.html#a10">ErrorLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga18">resetFilters</a>();
+01021 <a class="code" href="a05378.html#a14">AssertLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga18">resetFilters</a>();
+01022 }
+01023 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (args.size() == 1)
+01024 {
+01025 <span class="keywordflow">if</span> (args[0] == <span class="stringliteral">"debug"</span>) <a class="code" href="a05378.html#a13">DebugLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga18">resetFilters</a>();
+01026 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (args[0] == <span class="stringliteral">"info"</span>) <a class="code" href="a05378.html#a12">InfoLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga18">resetFilters</a>();
+01027 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (args[0] == <span class="stringliteral">"warning"</span>) <a class="code" href="a05378.html#a11">WarningLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga18">resetFilters</a>();
+01028 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (args[0] == <span class="stringliteral">"error"</span>) <a class="code" href="a05378.html#a10">ErrorLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga18">resetFilters</a>();
+01029 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (args[0] == <span class="stringliteral">"assert"</span>) <a class="code" href="a05378.html#a14">AssertLog</a>-&gt;<a class="code" href="a02813.html#NLNET_1_1CNetLoga18">resetFilters</a>();
+01030 }
+01031 <span class="keywordflow">else</span>
+01032 {
+01033 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01034 }
+01035
+01036 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01037 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a300" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">displayMemlog&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"displays the last N <a class="el" href="a04560.html#a2">line</a> of the log <a class="el" href="a04223.html#a647">in</a> memory"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap>[&lt; NbLines &gt;]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00986">986</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05621.html#l00095">DefaultMemDisplayer</a>, <a class="el" href="a05977.html#l00058">NLMISC::CMemDisplayer::lockStrings()</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05977.html#l00060">NLMISC::CMemDisplayer::unlockStrings()</a>, and <a class="el" href="a05976.html#l00399">NLMISC::CMemDisplayer::write()</a>.
+<p>
+<div class="fragment"><pre>00987 {
+00988 <a class="code" href="a04558.html#a15">uint</a> nbLines;
+00989
+00990 <span class="keywordflow">if</span> (args.size() == 0) nbLines = 100;
+00991 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (args.size() == 1) nbLines = atoi(args[0].c_str());
+00992 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00993
+00994 <span class="keywordflow">if</span> (<a class="code" href="a05378.html#a15">DefaultMemDisplayer</a> == NULL) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00995
+00996 deque&lt;string&gt;::const_iterator it;
+00997
+00998 <span class="keyword">const</span> deque&lt;string&gt; &amp;str = <a class="code" href="a05378.html#a15">DefaultMemDisplayer</a>-&gt;<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera3">lockStrings</a> ();
+00999
+01000 <span class="keywordflow">if</span> (nbLines &gt;= str.size())
+01001 it = str.begin();
+01002 <span class="keywordflow">else</span>
+01003 it = str.end() - nbLines;
+01004
+01005 <a class="code" href="a05378.html#a15">DefaultMemDisplayer</a>-&gt;<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera7">write</a> (&amp;log);
+01006
+01007 <a class="code" href="a05378.html#a15">DefaultMemDisplayer</a>-&gt;<a class="code" href="a02751.html#NLMISC_1_1CMemDisplayera5">unlockStrings</a> ();
+01008
+01009 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01010 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a288" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">killProgram&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"kill a <a class="el" href="a04223.html#a568">program</a> given the pid"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; pid &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l01002">1002</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05586.html#l00677">killProgram()</a>.
+<p>
+<div class="fragment"><pre>01003 {
+01004 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01005 <a class="code" href="a05378.html#a279">killProgram</a>(atoi(args[0].c_str()));
+01006 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01007 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a287" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">launchProgram&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Execute the command <a class="el" href="a04560.html#a2">line</a> using launcProgram() function call(launch <a class="el" href="a04223.html#a647">in</a> background task without waiting the end of the execution)"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; programName &gt;&lt; arguments &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00990">990</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05586.html#l00702">launchProgram()</a>.
+<p>
+<div class="fragment"><pre>00991 {
+00992 <span class="keywordflow">if</span>(args.size() != 2) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00993
+00994 string cmd = args[0];
+00995 string arg = args[1];
+00996 log.displayNL (<span class="stringliteral">"Executing '%s' with argument '%s'"</span>, cmd.c_str(), arg.c_str());
+00997 <a class="code" href="a05378.html#a280">launchProgram</a>(cmd, arg);
+00998 log.displayNL (<span class="stringliteral">"End of Execution of '%s' with argument '%s'"</span>, cmd.c_str(), arg.c_str());
+00999 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+01000 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a286" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">system&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Execute the command <a class="el" href="a04560.html#a2">line</a> using system() function call(wait until the end of the command)"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; commandline &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00979">979</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+<div class="fragment"><pre>00980 {
+00981 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00982
+00983 string cmd = args[0];
+00984 log.displayNL (<span class="stringliteral">"Executing '%s'"</span>, cmd.c_str());
+00985 system(cmd.c_str());
+00986 log.displayNL (<span class="stringliteral">"End of Execution of '%s'"</span>, cmd.c_str());
+00987 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00988 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a285" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">sleep&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Freeze the service for N seconds(for debug purpose)"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; N &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Commands
+<p>
+Definition at line <a class="el" href="a05586.html#l00967">967</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05586.html#l00073">nlSleep()</a>, and <a class="el" href="a05981.html#l00099">sint32</a>.
+<p>
+<div class="fragment"><pre>00968 {
+00969 <span class="keywordflow">if</span>(args.size() != 1) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00970
+00971 <a class="code" href="a04558.html#a10">sint32</a> n = atoi (args[0].c_str());
+00972
+00973 log.displayNL (<span class="stringliteral">"Sleeping during %d seconds"</span>, n);
+00974
+00975 <a class="code" href="a05378.html#a256">nlSleep</a>(n * 1000);
+00976 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00977 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a272" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">stohr&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Convert a second number into an human readable time"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; int &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00526">526</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05586.html#l00476">secondsToHumanReadable()</a>.
+<p>
+<div class="fragment"><pre>00527 {
+00528 <span class="keywordflow">if</span> (args.size() != 1)
+00529 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00530
+00531 log.displayNL(<span class="stringliteral">"%s -&gt; %s"</span>, args[0].c_str(), <a class="code" href="a05378.html#a270">secondsToHumanReadable</a>(atoi(args[0].c_str())).c_str());
+00532
+00533 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00534 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a269" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">hrtob&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Convert a human readable number into a bytes number"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; hr &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00465">465</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05586.html#l00422">humanReadableToBytes()</a>.
+<p>
+<div class="fragment"><pre>00466 {
+00467 <span class="keywordflow">if</span> (args.size() != 1)
+00468 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00469
+00470 log.displayNL(<span class="stringliteral">"%s -&gt; %u"</span>, args[0].c_str(), <a class="code" href="a05378.html#a267">humanReadableToBytes</a>(args[0]));
+00471
+00472 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00473 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a268" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">btohr&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Convert a bytes number into an human readable number"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"&lt; int &gt;"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00454">454</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05586.html#l00388">bytesToHumanReadable()</a>.
+<p>
+<div class="fragment"><pre>00455 {
+00456 <span class="keywordflow">if</span> (args.size() != 1)
+00457 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00458
+00459 log.displayNL(<span class="stringliteral">"%s -&gt; %s"</span>, args[0].c_str(), <a class="code" href="a05378.html#a265">bytesToHumanReadable</a>(args[0]).c_str());
+00460
+00461 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00462 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a255" doxytag="NLMISC::NLMISC_COMMAND" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_COMMAND </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">help&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"display help on a specific variable/commands or on all variables and commands"&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>""&nbsp;</td>
+ <td class="mdname" nowrap>[&lt; variable &gt;|&lt; command &gt;]</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05584.html#l00389">389</a> of file <a class="el" href="a05584.html">command.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00390 {
+00391 <a class="code" href="a04199.html#a6">nlassert</a> (Commands != NULL);
+00392
+00393 <span class="keywordflow">if</span> (args.size() == 0)
+00394 {
+00395 <span class="comment">// display all commands</span>
+00396 log.displayNL(<span class="stringliteral">"There's %d variables and commands: "</span>, (*Commands).size());
+00397 <a class="code" href="a04558.html#a15">uint</a> i = 0;
+00398 <span class="keywordflow">for</span> (TCommand::iterator comm = (*Commands).begin(); comm != (*Commands).end(); comm++, i++)
+00399 {
+00400 log.displayNL(<span class="stringliteral">"%2d %-15s: %s"</span>, i, (*comm).first.c_str(), (*comm).second-&gt;HelpString.c_str());
+00401 }
+00402 }
+00403 <span class="keywordflow">else</span> <span class="keywordflow">if</span> (args.size() == 1)
+00404 {
+00405 <span class="comment">// display help of the command</span>
+00406 TCommand::iterator comm = (*Commands).find(args[0].c_str());
+00407 <span class="keywordflow">if</span> (comm == (*Commands).end ())
+00408 {
+00409 log.displayNL(<span class="stringliteral">"command '%s' not found"</span>, args[0].c_str());
+00410 }
+00411 <span class="keywordflow">else</span>
+00412 {
+00413 log.displayNL(<span class="stringliteral">"%s"</span>, (*comm).second-&gt;HelpString.c_str());
+00414 log.displayNL(<span class="stringliteral">"usage: %s %s"</span>, (*comm).first.c_str(), (*comm).second-&gt;CommandArgs.c_str(), (*comm).second-&gt;HelpString.c_str());
+00415 }
+00416 }
+00417 <span class="keywordflow">else</span>
+00418 {
+00419 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00420 }
+00421 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00422 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a362" doxytag="NLMISC::NLMISC_DYNVARIABLE" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_DYNVARIABLE </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">string&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>OS&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"OS used"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06479.html#l00721">721</a> of file <a class="el" href="a06479.html">system_info.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l00233">pointer</a>.
+<p>
+<div class="fragment"><pre>00722 {
+00723 <span class="keywordflow">if</span> (get) *<a class="code" href="a04223.html#a570">pointer</a> = CSystemInfo::getOS();
+00724 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a361" doxytag="NLMISC::NLMISC_DYNVARIABLE" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_DYNVARIABLE </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">string&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>ProcessUsedMemory&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Memory used by this process <a class="el" href="a04223.html#a647">in</a> bytes"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06479.html#l00716">716</a> of file <a class="el" href="a06479.html">system_info.cpp</a>.
+<p>
+References <a class="el" href="a05586.html#l00388">bytesToHumanReadable()</a>, and <a class="el" href="a05646.html#l00233">pointer</a>.
+<p>
+<div class="fragment"><pre>00717 {
+00718 <span class="keywordflow">if</span> (get) *<a class="code" href="a04223.html#a570">pointer</a> = <a class="code" href="a05378.html#a265">bytesToHumanReadable</a>(CHeapAllocator::getAllocatedSystemMemory ());
+00719 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a360" doxytag="NLMISC::NLMISC_DYNVARIABLE" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_DYNVARIABLE </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">string&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>TotalPhysicalMemory&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Total physical memory on this computer <a class="el" href="a04223.html#a647">in</a> bytes"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06479.html#l00711">711</a> of file <a class="el" href="a06479.html">system_info.cpp</a>.
+<p>
+References <a class="el" href="a05586.html#l00388">bytesToHumanReadable()</a>, and <a class="el" href="a05646.html#l00233">pointer</a>.
+<p>
+<div class="fragment"><pre>00712 {
+00713 <span class="keywordflow">if</span> (get) *<a class="code" href="a04223.html#a570">pointer</a> = <a class="code" href="a05378.html#a265">bytesToHumanReadable</a>(CSystemInfo::totalPhysicalMemory ());
+00714 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a359" doxytag="NLMISC::NLMISC_DYNVARIABLE" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> NLMISC_DYNVARIABLE </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">string&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>AvailablePhysicalMemory&nbsp;</td>
+ <td class="mdname" nowrap>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>"Physical memory available on this computer <a class="el" href="a04223.html#a647">in</a> bytes"&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06479.html#l00706">706</a> of file <a class="el" href="a06479.html">system_info.cpp</a>.
+<p>
+References <a class="el" href="a05586.html#l00388">bytesToHumanReadable()</a>, and <a class="el" href="a05646.html#l00233">pointer</a>.
+<p>
+<div class="fragment"><pre>00707 {
+00708 <span class="keywordflow">if</span> (get) *<a class="code" href="a04223.html#a570">pointer</a> = <a class="code" href="a05378.html#a265">bytesToHumanReadable</a>(CSystemInfo::availablePhysicalMemory ());
+00709 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a256" doxytag="NLMISC::nlSleep" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::nlSleep </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>ms</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Portable Sleep() function that suspends the execution of the calling thread for a number of milliseconds. Note: the resolution of the timer is system-dependant and may be more than 1 millisecond.
+<p>
+Definition at line <a class="el" href="a05586.html#l00073">73</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05526.html#l00328">NLNET::CCallbackNetBase::baseUpdate()</a>, <a class="el" href="a05958.html#l00063">NLNET::CLoginClient::connectToShard()</a>, <a class="el" href="a06479.html#l00441">NLMISC::CSystemInfo::getProcessorFrequency()</a>, <a class="el" href="a06768.html#l00920">NL3D::CZoneLighter::light()</a>, <a class="el" href="a06768.html#l02800">NL3D::CZoneLighter::lightShapes()</a>, <a class="el" href="a05874.html#l00151">NL3D::CLandscapeUser::loadAllZonesAround()</a>, <a class="el" href="a05708.html#l00085">NLMISC::CIFile::loadIntoCache()</a>, <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, <a class="el" href="a05586.html#l00967">NLMISC_COMMAND()</a>, <a class="el" href="a06089.html#l00411">NLNET::CNamingClient::queryServicePort()</a>, <a class="el" href="a05874.html#l00193">NL3D::CLandscapeUser::refreshAllZonesAround()</a>, <a class="el" href="a05761.html#l02554">NLPACS::CGlobalRetriever::refreshLrAroundNow()</a>, <a class="el" href="a06089.html#l00302">NLNET::CNamingClient::registerService()</a>, <a class="el" href="a06089.html#l00340">NLNET::CNamingClient::registerServiceWithSId()</a>, <a class="el" href="a06554.html#l00062">CTimeoutAssertionThread::run()</a>, <a class="el" href="a05512.html#l00987">NLNET::CServerReceiveTask::run()</a>, <a class="el" href="a05416.html#l00140">NLAIAGENT::CAgentManagerTimer::CRunTimer::run()</a>, <a class="el" href="a05708.html#l00355">NLMISC::CIFile::serialBuffer()</a>, <a class="el" href="a06486.html#l00075">NLMISC::CTaskManager::sleepTask()</a>, <a class="el" href="a05822.html#l00075">NL3D::UInstanceGroup::stopCreateInstanceGroupAsync()</a>, <a class="el" href="a06645.html#l00857">NLNET::CUnifiedNetwork::update()</a>, <a class="el" href="a06098.html#l00357">NLNET::CNetManager::update()</a>, <a class="el" href="a06346.html#l00190">NLSOUND::CSampleBank::~CSampleBank()</a>, and <a class="el" href="a06485.html#l00053">NLMISC::CTaskManager::~CTaskManager()</a>.
+<p>
+<div class="fragment"><pre>00074 {
+00075 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00076 <span class="preprocessor"></span>
+00078 <span class="preprocessor">#ifdef NL_DEBUG</span>
+00079 <span class="preprocessor"></span> ms = max(ms, (<a class="code" href="a04558.html#a11">uint32</a>)1);
+00080 <span class="preprocessor">#endif</span>
+00081 <span class="preprocessor"></span>
+00082 Sleep( ms );
+00083
+00084 <span class="preprocessor">#elif defined NL_OS_UNIX</span>
+00085 <span class="preprocessor"></span> usleep( ms*1000 );
+00086 <span class="preprocessor">#endif</span>
+00087 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a389" doxytag="NLMISC::nlstricmp" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> nlstricmp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>rhs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05587.html#l00231">231</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05587.html#l00225">stricmp()</a>.
+<p>
+<div class="fragment"><pre>00231 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(lhs,rhs.c_str()); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a388" doxytag="NLMISC::nlstricmp" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> nlstricmp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>rhs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05587.html#l00230">230</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05587.html#l00225">stricmp()</a>.
+<p>
+<div class="fragment"><pre>00230 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(lhs.c_str(),rhs); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a387" doxytag="NLMISC::nlstricmp" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> nlstricmp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>rhs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05587.html#l00229">229</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05587.html#l00225">stricmp()</a>.
+<p>
+<div class="fragment"><pre>00229 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(lhs.c_str(), rhs.c_str()); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a386" doxytag="NLMISC::nlstricmp" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> nlstricmp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>rhs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05587.html#l00228">228</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05587.html#l00225">stricmp()</a>.
+<p>
+Referenced by <a class="el" href="a06586.html#l00339">NLGEORGES::CMyEvalNumExpr::evalValue()</a>, and <a class="el" href="a06466.html#l00039">NLMISC::CUnsensitiveStrLessPred::operator()()</a>.
+<p>
+<div class="fragment"><pre>00228 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a385">stricmp</a>(lhs, rhs); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a441" doxytag="NLMISC::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03664.html">CVectorD</a> operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname" nowrap> <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CVectorD &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06685.html#l00088">88</a> of file <a class="el" href="a06685.html">vectord_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00089 {
+00090 CVectorD ret(<a class="code" href="a04223.html#a576">v</a>.x*f, <a class="code" href="a04223.html#a576">v</a>.y*f, <a class="code" href="a04223.html#a576">v</a>.z*f);
+00091 <span class="keywordflow">return</span> ret;
+00092 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a440" doxytag="NLMISC::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03128.html">CVector</a> operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CVector &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06682.html#l00088">88</a> of file <a class="el" href="a06682.html">vector_inline.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00089 {
+00090 CVector ret(<a class="code" href="a04223.html#a576">v</a>.x*f, <a class="code" href="a04223.html#a576">v</a>.y*f, <a class="code" href="a04223.html#a576">v</a>.z*f);
+00091 <span class="keywordflow">return</span> ret;
+00092 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a438" doxytag="NLMISC::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03660.html">CVector2f</a> operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CVector2f &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06677.html#l00140">140</a> of file <a class="el" href="a06677.html">vector_2f.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00141 {
+00142 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a576">v</a>*f;
+00143 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a437" doxytag="NLMISC::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03659.html">CVector2d</a> operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">double&nbsp;</td>
+ <td class="mdname" nowrap> <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CVector2d &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06675.html#l00134">134</a> of file <a class="el" href="a06675.html">vector_2d.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+<div class="fragment"><pre>00135 {
+00136 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a576">v</a>*f;
+00137 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a436" doxytag="NLMISC::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03640.html">CUV</a> operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CUV &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>uv</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>f</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06655.html#l00092">92</a> of file <a class="el" href="a06655.html">uv.h</a>.
+<p>
+<div class="fragment"><pre>00093 {
+00094 <span class="keywordflow">return</span> f * uv;
+00095 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a435" doxytag="NLMISC::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03640.html">CUV</a> operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CUV &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>uv</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06655.html#l00086">86</a> of file <a class="el" href="a06655.html">uv.h</a>.
+<p>
+References <a class="el" href="a06655.html#l00049">NLMISC::CUV::U</a>, and <a class="el" href="a06655.html#l00049">NLMISC::CUV::V</a>.
+<p>
+<div class="fragment"><pre>00087 {
+00088 <span class="keywordflow">return</span> CUV(uv.U * f, uv.V * f);
+00089 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a406" doxytag="NLMISC::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03338.html">CRGBAF</a> operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname" nowrap> <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CRGBAF &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>c</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Mul float operator. Multiplate each component by f. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>f</em>&nbsp;</td><td>Float factor. </td></tr>
+ </table>
+</dl>
+<dl compact><dt><b>Returns:</b></dt><dd>Return the result </dd></dl>
+
+<p>
+Definition at line <a class="el" href="a06340.html#l00669">669</a> of file <a class="el" href="a06340.html">rgba.h</a>.
+<p>
+References <a class="el" href="a06340.html#l00661">NLMISC::CRGBAF::A</a>, <a class="el" href="a06340.html#l00659">NLMISC::CRGBAF::B</a>, <a class="el" href="a06340.html#l00657">NLMISC::CRGBAF::G</a>, and <a class="el" href="a06340.html#l00655">NLMISC::CRGBAF::R</a>.
+<p>
+<div class="fragment"><pre>00670 {
+00671 <span class="keywordflow">return</span> CRGBAF (c.R*f, c.G*f, c.B*f, c.A*f);
+00672 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a404" doxytag="NLMISC::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03297.html">CQuatT</a>&lt;T&gt; operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">T&nbsp;</td>
+ <td class="mdname" nowrap> <em>f</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CQuatT&lt; T &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>o</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+f*quat operator
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00211">211</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+<div class="fragment"><pre>00211 {<span class="keywordflow">return</span> o*f;}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a334" doxytag="NLMISC::operator *" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03082.html">CPlane</a> operator * </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CPlane &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>p</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const <a class="el" href="a02851.html">CMatrix</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>m</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05972.html#l01308">1308</a> of file <a class="el" href="a05972.html">matrix.cpp</a>.
+<p>
+References <a class="el" href="a06171.html#l00052">NLMISC::CPlane::a</a>, <a class="el" href="a06171.html#l00052">NLMISC::CPlane::b</a>, <a class="el" href="a06171.html#l00052">NLMISC::CPlane::c</a>, <a class="el" href="a06171.html#l00052">NLMISC::CPlane::d</a>, <a class="el" href="a05972.html#l00054">MAT_PROJ</a>, <a class="el" href="a05972.html#l00051">MAT_ROT</a>, <a class="el" href="a05972.html#l00053">MAT_SCALEANY</a>, <a class="el" href="a05972.html#l00052">MAT_SCALEUNI</a>, <a class="el" href="a05972.html#l00050">MAT_TRANS</a>, <a class="el" href="a05973.html#l00355">NLMISC::CMatrix::StateBit</a>, <a class="el" href="a05972.html#l00149">NLMISC::CMatrix::testExpandProj()</a>, and <a class="el" href="a05972.html#l00135">NLMISC::CMatrix::testExpandRot()</a>.
+<p>
+<div class="fragment"><pre>01309 {
+01310 <span class="comment">// \todo yoyo: TODO_OPTIMIZE it...</span>
+01311 m.<a class="code" href="a02851.html#NLMISC_1_1CMatrixd12">testExpandRot</a>();
+01312 m.<a class="code" href="a02851.html#NLMISC_1_1CMatrixd11">testExpandProj</a>();
+01313
+01314
+01315 CPlane ret;
+01316
+01317 <span class="keywordflow">if</span>( m.<a class="code" href="a02851.html#NLMISC_1_1CMatrixr2">StateBit</a> &amp; (<a class="code" href="a04549.html#a1">MAT_ROT</a>|<a class="code" href="a04549.html#a2">MAT_SCALEUNI</a>|<a class="code" href="a04549.html#a3">MAT_SCALEANY</a>|<a class="code" href="a04549.html#a4">MAT_PROJ</a>) )
+01318 {
+01319 <span class="comment">// Compose with translation too.</span>
+01320 ret.a= p.a*m.a11 + p.b*m.a21 + p.c*m.a31 + p.d*m.a41;
+01321 ret.b= p.a*m.a12 + p.b*m.a22 + p.c*m.a32 + p.d*m.a42;
+01322 ret.c= p.a*m.a13 + p.b*m.a23 + p.c*m.a33 + p.d*m.a43;
+01323 ret.d= p.a*m.a14 + p.b*m.a24 + p.c*m.a34 + p.d*m.a44;
+01324 <span class="keywordflow">return</span> ret;
+01325 }
+01326 <span class="keywordflow">else</span> <span class="keywordflow">if</span>( m.<a class="code" href="a02851.html#NLMISC_1_1CMatrixr2">StateBit</a> &amp; <a class="code" href="a04549.html#a0">MAT_TRANS</a> )
+01327 {
+01328
+01329 <span class="comment">// Compose just with a translation.</span>
+01330 ret.a= p.a;
+01331 ret.b= p.b;
+01332 ret.c= p.c;
+01333 ret.d= p.a*m.a14 + p.b*m.a24 + p.c*m.a34 + p.d*m.a44;
+01334 <span class="keywordflow">return</span> ret;
+01335 }
+01336 <span class="keywordflow">else</span> <span class="comment">// Identity!!</span>
+01337 <span class="keywordflow">return</span> p;
+01338 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a403" doxytag="NLMISC::operator!=" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool operator!= </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CGameDeviceDesc &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CGameDeviceDesc &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>rhs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05756.html#l00060">60</a> of file <a class="el" href="a05756.html">game_device.h</a>.
+<p>
+<div class="fragment"><pre>00061 {
+00062 <span class="keywordflow">return</span> !(lhs == rhs);
+00063 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a439" doxytag="NLMISC::operator<" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool operator&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CVector2f &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CVector2f &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>rhs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06677.html#l00146">146</a> of file <a class="el" href="a06677.html">vector_2f.h</a>.
+<p>
+References <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::x</a>, and <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::y</a>.
+<p>
+<div class="fragment"><pre>00147 {
+00148 <span class="keywordflow">return</span> (lhs.x != rhs.x) ? lhs.x &lt; rhs.x : lhs.y &lt; rhs.y;
+00149 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a352" doxytag="NLMISC::operator<" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::operator&lt; </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CPolygon2D &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CPolygon2D &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>rhs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06190.html#l01945">1945</a> of file <a class="el" href="a06190.html">polygon.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a06191.html#l00126">NLMISC::CPolygon2D::Vertices</a>.
+<p>
+<div class="fragment"><pre>01946 {
+01947 <span class="keywordflow">if</span> (lhs.Vertices.size() != rhs.Vertices.size()) <span class="keywordflow">return</span> lhs.Vertices.size() &lt; rhs.Vertices.size();
+01948 <span class="keywordflow">for</span>(<a class="code" href="a04558.html#a15">uint</a> k = 0; k &lt; lhs.Vertices.size(); ++k)
+01949 {
+01950 <span class="keywordflow">if</span> (lhs.Vertices[k] != rhs.Vertices[k]) <span class="keywordflow">return</span> lhs.Vertices[k] &lt; rhs.Vertices[k];
+01951 }
+01952 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01953 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a402" doxytag="NLMISC::operator==" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool operator== </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CGameDeviceDesc &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CGameDeviceDesc &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>rhs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+for devices comparison. The 'Connected' field is ignored.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05756.html#l00055">55</a> of file <a class="el" href="a05756.html">game_device.h</a>.
+<p>
+References <a class="el" href="a05756.html#l00044">NLMISC::CGameDeviceDesc::InstanceName</a>, and <a class="el" href="a05756.html#l00046">NLMISC::CGameDeviceDesc::ProductName</a>.
+<p>
+<div class="fragment"><pre>00056 {
+00057 <span class="keywordflow">return</span> lhs.InstanceName == rhs.InstanceName &amp;&amp; lhs.ProductName == rhs.ProductName;
+00058 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a351" doxytag="NLMISC::operator==" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::operator== </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CPolygon2D &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CPolygon2D &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>rhs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06190.html#l01938">1938</a> of file <a class="el" href="a06190.html">polygon.cpp</a>.
+<p>
+References <a class="el" href="a06191.html#l00126">NLMISC::CPolygon2D::Vertices</a>.
+<p>
+<div class="fragment"><pre>01939 {
+01940 <span class="keywordflow">if</span> (lhs.Vertices.size() != rhs.Vertices.size()) <span class="keywordflow">return</span> <span class="keyword">false</span>;
+01941 <span class="keywordflow">return</span> std::equal(lhs.Vertices.begin(), lhs.Vertices.end(), rhs.Vertices.begin());
+01942 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a397" doxytag="NLMISC::OptFastFloor" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> OptFastFloor </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>x</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05701.html#l00125">125</a> of file <a class="el" href="a05701.html">fast_floor.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05646.html#l00236">x</a>.
+<p>
+Referenced by <a class="el" href="a06698.html#l01036">NL3D::CVegetableManager::addInstance()</a>, <a class="el" href="a06157.html#l01543">NL3D::CPatch::appendTileLightInfluences()</a>, <a class="el" href="a05790.html#l00628">NL3D::CHLSColorTexture::compressBlockRGB()</a>, <a class="el" href="a05935.html#l00337">NL3D::computeLodLighting()</a>, <a class="el" href="a05901.html#l00256">NL3D::CLightingManager::computeModelLightContributions()</a>, <a class="el" href="a05706.html#l00414">NL3D::CFastHLSModifier::convertRGBABitmap()</a>, <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, <a class="el" href="a06105.html#l00309">NLMISC::CNoiseColorGradient::eval()</a>, <a class="el" href="a06105.html#l00119">NLMISC::CRandomGrid3D::evalBiLinear()</a>, <a class="el" href="a06105.html#l00101">NLMISC::CRandomGrid3D::evalNearest()</a>, <a class="el" href="a06686.html#l00132">NL3D::CVegetable::generateGroupEx()</a>, <a class="el" href="a06162.html#l00050">NL3D::CPatch::generateTileVegetable()</a>, <a class="el" href="a06157.html#l01499">NL3D::CPatch::getLumel()</a>, <a class="el" href="a06475.html#l00062">NL3D::CSurfaceLightGrid::getStaticLightSetup()</a>, <a class="el" href="a06155.html#l02265">NL3D::CPatch::getTileElement()</a>, <a class="el" href="a06493.html#l00273">NL3D::CTessFacePriorityList::insert()</a>, <a class="el" href="a05555.html#l00457">NL3D::CClipTrav::loadBalanceSkeletonCLod()</a>, <a class="el" href="a06261.html#l00191">NL3D::CSpinnerFunctor::operator()()</a>, <a class="el" href="a06238.html#l00166">NL3D::CPSFloatCurveFunctor::operator()()</a>, <a class="el" href="a06222.html#l00300">NL3D::CPSValueGradientFunc&lt; sint32 &gt;::operator()()</a>, <a class="el" href="a06222.html#l00200">NL3D::CPSValueBlendSampleFunc&lt; NLMISC::CRGBA, n &gt;::operator()()</a>, <a class="el" href="a05995.html#l00132">NL3D::CMeshBlender::prepareRenderForGlobalAlphaCoarseMesh()</a>, <a class="el" href="a06698.html#l01713">NL3D::CVegetableManager::render()</a>, <a class="el" href="a06011.html#l00568">NL3D::CMeshMRMSkinnedGeom::render()</a>, <a class="el" href="a06005.html#l00927">NL3D::CMeshMRMGeom::render()</a>, <a class="el" href="a05989.html#l00598">NL3D::CMeshGeom::render()</a>, <a class="el" href="a06372.html#l00445">NL3D::CShadowMapManager::renderProject()</a>, <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>, and <a class="el" href="a06568.html#l01080">NL3D::CTransform::traverseLight()</a>.
+<p>
+<div class="fragment"><pre>00126 {
+00127 <span class="keywordflow">return</span> (<a class="code" href="a04558.html#a14">sint</a>)floor(x);
+00128 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a401" doxytag="NLMISC::OptFastFloor24" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a11">uint32</a> OptFastFloor24 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>x</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05701.html#l00138">138</a> of file <a class="el" href="a05701.html">fast_floor.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>, and <a class="el" href="a05646.html#l00236">x</a>.
+<p>
+Referenced by <a class="el" href="a06163.html#l00648">NL3D::CPatchDLMContext::addPointLightInfluence()</a>.
+<p>
+<div class="fragment"><pre>00139 {
+00140 <span class="keywordflow">return</span> (<a class="code" href="a04558.html#a11">uint32</a>)floor(x);
+00141 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a395" doxytag="NLMISC::OptFastFloorBegin" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void OptFastFloorBegin </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05701.html#l00123">123</a> of file <a class="el" href="a05701.html">fast_floor.h</a>.
+<p>
+Referenced by <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, <a class="el" href="a06219.html#l01172">NL3D::CPSAttribMakerT&lt; T, F &gt;::get()</a>, <a class="el" href="a06219.html#l00060">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::get()</a>, <a class="el" href="a06219.html#l00596">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make()</a>, <a class="el" href="a06219.html#l00790">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4()</a>, <a class="el" href="a06219.html#l00978">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeN()</a>, <a class="el" href="a05862.html#l00605">NL3D::CLandscape::refine()</a>, <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>, and <a class="el" href="a05862.html#l03357">NL3D::CLandscape::updateLightingAll()</a>.
+<p>
+<div class="fragment"><pre>00123 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a399" doxytag="NLMISC::OptFastFloorBegin24" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void OptFastFloorBegin24 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05701.html#l00136">136</a> of file <a class="el" href="a05701.html">fast_floor.h</a>.
+<p>
+Referenced by <a class="el" href="a06163.html#l00648">NL3D::CPatchDLMContext::addPointLightInfluence()</a>.
+<p>
+<div class="fragment"><pre>00136 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a396" doxytag="NLMISC::OptFastFloorEnd" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void OptFastFloorEnd </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05701.html#l00124">124</a> of file <a class="el" href="a05701.html">fast_floor.h</a>.
+<p>
+Referenced by <a class="el" href="a06233.html#l00379">NL3D::CPSFaceLookAtHelper::drawLookAt()</a>, <a class="el" href="a06233.html#l00089">NL3D::CPSFaceLookAtHelper::drawLookAtAlignOnMotion()</a>, <a class="el" href="a06219.html#l01172">NL3D::CPSAttribMakerT&lt; T, F &gt;::get()</a>, <a class="el" href="a06219.html#l00060">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::get()</a>, <a class="el" href="a06219.html#l00596">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make()</a>, <a class="el" href="a06219.html#l00790">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::make4()</a>, <a class="el" href="a06219.html#l00978">NL3D::CPSAttribMakerT&lt; uint32, CPSValueBlendFunc&lt; uint32 &gt; &gt;::makeN()</a>, <a class="el" href="a05862.html#l00605">NL3D::CLandscape::refine()</a>, <a class="el" href="a06329.html#l00089">NL3D::CRenderTrav::traverse()</a>, and <a class="el" href="a05862.html#l03357">NL3D::CLandscape::updateLightingAll()</a>.
+<p>
+<div class="fragment"><pre>00124 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a400" doxytag="NLMISC::OptFastFloorEnd24" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void OptFastFloorEnd24 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05701.html#l00137">137</a> of file <a class="el" href="a05701.html">fast_floor.h</a>.
+<p>
+Referenced by <a class="el" href="a06163.html#l00648">NL3D::CPatchDLMContext::addPointLightInfluence()</a>.
+<p>
+<div class="fragment"><pre>00137 {}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a398" doxytag="NLMISC::OptFastFractionnalPart" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float OptFastFractionnalPart </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>x</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05701.html#l00130">130</a> of file <a class="el" href="a05701.html">fast_floor.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00104">sint</a>, and <a class="el" href="a05646.html#l00236">x</a>.
+<p>
+<div class="fragment"><pre>00131 {
+00132 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a572">x</a> - (<a class="code" href="a04558.html#a14">sint</a>) <a class="code" href="a04223.html#a572">x</a> ;
+00133 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a347" doxytag="NLMISC::Prev" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> CPolygon2D::TVec2fVect::const_iterator Prev </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const CPolygon2D::TVec2fVect::const_iterator &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>it</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CPolygon2D::TVec2fVect &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>cont</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline, static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06190.html#l01067">1067</a> of file <a class="el" href="a06190.html">polygon.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, and <a class="el" href="a06191.html#l00125">NLMISC::CPolygon2D::TVec2fVect</a>.
+<p>
+Referenced by <a class="el" href="a06190.html#l01075">NLMISC::CPolygon2D::computeBorders()</a>.
+<p>
+<div class="fragment"><pre>01068 {
+01069 <a class="code" href="a04199.html#a6">nlassert</a>(cont.size() != 0);
+01070 <span class="keywordflow">if</span> (it == cont.begin()) <span class="keywordflow">return</span> cont.end() - 1;
+01071 <span class="keywordflow">return</span> (it - 1);
+01072 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a383" doxytag="NLMISC::radToDeg" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float radToDeg </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">float&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>rad</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Converts from radians to degrees
+<p>
+Definition at line <a class="el" href="a05587.html#l00178">178</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05587.html#l00079">Pi</a>.
+<p>
+Referenced by <a class="el" href="a06425.html#l00387">NLSOUND::CSourceAL::setCone()</a>.
+<p>
+<div class="fragment"><pre>00179 {
+00180 <span class="keywordflow">return</span> rad * 180.0f / (<span class="keywordtype">float</span>)<a class="code" href="a05378.html#a44">Pi</a>;
+00181 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a262" doxytag="NLMISC::raiseToNextPowerOf2" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> NLMISC::raiseToNextPowerOf2 </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the value maximized to the next power of 2 of v. Example: raiseToNextPowerOf2(8) is 8 raiseToNextPowerOf2(5) is 8
+<p>
+Definition at line <a class="el" href="a05586.html#l00349">349</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+Referenced by <a class="el" href="a05567.html#l00070">NL3D::CCoarseMeshBuild::buildBitmap()</a>, <a class="el" href="a05808.html#l00100">NL3D::CIGSurfaceLightBuild::buildPLDebugMesh()</a>, <a class="el" href="a05623.html#l00085">NL3D::CDeform2d::doDeform()</a>, <a class="el" href="a06525.html#l00178">NL3D::CTextureGrouped::doGenerate()</a>, <a class="el" href="a06103.html#l00055">NL3D::CNoise3d::init()</a>, <a class="el" href="a05559.html#l00143">NL3D::SCloudTextureClamp::init()</a>, <a class="el" href="a05559.html#l00091">NL3D::SCloudTexture3D::init()</a>, <a class="el" href="a05557.html#l00065">NL3D::CCloud::init()</a>, <a class="el" href="a06370.html#l00066">NL3D::CShadowMap::initTexture()</a>, <a class="el" href="a05559.html#l00535">NL3D::CCloudScape::makeHalfCloud()</a>, <a class="el" href="a06040.html#l00062">NL3D::CMotionBlur::performMotionBlur()</a>, <a class="el" href="a06372.html#l00234">NL3D::CShadowMapManager::renderGenerate()</a>, <a class="el" href="a06348.html#l01214">NL3D::CScene::setShadowMapTextureSize()</a>, and <a class="el" href="a05623.html#l00055">NL3D::CDeform2d::setupBuffer()</a>.
+<p>
+<div class="fragment"><pre>00350 {
+00351 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a643">res</a>=1;
+00352 <span class="keywordflow">while</span>(<a class="code" href="a04223.html#a643">res</a>&lt;<a class="code" href="a04223.html#a576">v</a>)
+00353 <a class="code" href="a04223.html#a643">res</a>&lt;&lt;=1;
+00354
+00355 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a643">res</a>;
+00356 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a340" doxytag="NLMISC::removeAllUnusedChar" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void removeAllUnusedChar </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06167.html#l00280">280</a> of file <a class="el" href="a06167.html">path.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a06167.html#l00293">NLMISC::CPath::loadRemappedFiles()</a>.
+<p>
+<div class="fragment"><pre>00281 {
+00282 <a class="code" href="a04558.html#a11">uint32</a> i = 0;
+00283 <span class="keywordflow">while</span> (!str.empty() &amp;&amp; (i != str.size()))
+00284 {
+00285 <span class="keywordflow">if</span> ((str[i] == <span class="charliteral">' '</span> || str[i] == <span class="charliteral">'\t'</span> || str[i] == <span class="charliteral">'\r'</span> || str[i] == <span class="charliteral">'\n'</span>))
+00286 str.erase(str.begin()+i);
+00287 <span class="keywordflow">else</span>
+00288 i++;
+00289 }
+00290 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a357" doxytag="NLMISC::removeSlashR" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NLMISC::removeSlashR </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06464.html#l00050">50</a> of file <a class="el" href="a06464.html">string_common.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00051 {
+00052 string formatedStr;
+00053 <span class="comment">// replace \n with \r\n</span>
+00054 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i &lt; str.size(); i++)
+00055 {
+00056 <span class="keywordflow">if</span> (str[i] != <span class="charliteral">'\r'</span>)
+00057 formatedStr += str[i];
+00058 }
+00059 <span class="keywordflow">return</span> formatedStr;
+00060 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a405" doxytag="NLMISC::report" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05378.html#a445">TReportResult</a> report </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>title</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>header</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>subject</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>body</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>enableCheckIgnore</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>debugButton</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>ignoreButton</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>quitButton</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>sendReportButton</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>ignoreNextTime</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="a354" doxytag="NLMISC::report" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void report </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06331.html#l00081">81</a> of file <a class="el" href="a06331.html">report.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05776.html#l01916">NLMISC::CHeapAllocator::debugReportMemoryLeak()</a>, and <a class="el" href="a05637.html#l00479">NLMISC::CMsgBoxDisplayer::doDisplay()</a>.
+<p>
+<div class="fragment"><pre>00082 {
+00083 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a254" doxytag="NLMISC::rotateCCW" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> void rotateCCW </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T *&nbsp;</td>
+ <td class="mdname" nowrap> <em>src</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>T *&nbsp;</td>
+ <td class="mdname" nowrap> <em>dst</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>srcWidth</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>srcHeight</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05486.html#l02283">2283</a> of file <a class="el" href="a05486.html">bitmap.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01124">src</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a05646.html#l00236">x</a>, and <a class="el" href="a05646.html#l00236">y</a>.
+<p>
+Referenced by <a class="el" href="a05486.html#l02306">NLMISC::CBitmap::rotateCCW()</a>.
+<p>
+<div class="fragment"><pre>02284 {
+02285 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a573">y</a>=0; <a class="code" href="a04223.html#a573">y</a>&lt;srcHeight; <a class="code" href="a04223.html#a573">y</a>++)
+02286 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a572">x</a>=0; <a class="code" href="a04223.html#a572">x</a>&lt;srcWidth; <a class="code" href="a04223.html#a572">x</a>++)
+02287 {
+02288 <a class="code" href="a04558.html#a15">uint</a> dstX=<a class="code" href="a04223.html#a573">y</a>;
+02289 <a class="code" href="a04558.html#a15">uint</a> dstY=srcWidth-<a class="code" href="a04223.html#a572">x</a>-1;
+02290 dst[dstX+dstY*srcHeight]=<a class="code" href="a04223.html#a652">src</a>[<a class="code" href="a04223.html#a572">x</a>+<a class="code" href="a04223.html#a573">y</a>*srcWidth];
+02291 }
+02292 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a393" doxytag="NLMISC::safe_cast" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T, class U&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> T safe_cast </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">U&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+safe_cast&lt;&gt;: this is a function which <a class="el" href="a04199.html#a6">nlassert()</a> a dynamic_cast in Debug, and just do a static_cast in release. So slow check is made in debug, but only fast cast is made in release.
+<p>
+Definition at line <a class="el" href="a05622.html#l00506">506</a> of file <a class="el" href="a05622.html">debug.h</a>.
+<p>
+<div class="fragment"><pre>00510 : <span class="keyword">this</span> is a function which <a class="code" href="a04199.html#a6">nlassert</a>() a <span class="keyword">dynamic_cast</span> <a class="code" href="a04223.html#a647">in</a> Debug, and just <span class="keywordflow">do</span> a <span class="keyword">static_cast</span> <a class="code" href="a04223.html#a647">in</a> release.
+00511 * So slow check is made <a class="code" href="a04223.html#a647">in</a> debug, but only fast cast is made <a class="code" href="a04223.html#a647">in</a> release.
+00512 * Differs <a class="code" href="a05333.html#a132">from</a> <a class="code" href="a05378.html#a393">safe_cast</a> by allowinf NULL objets.
+00513 */
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a345" doxytag="NLMISC::ScanEdge" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ScanEdge </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03101.html#NLMISC_1_1CPolygon2Dw1">CPolygon2D::TRasterVect</a> &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>outputVect</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>topY</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CVector2f &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const CVector2f &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v2</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>rightEdge</em> = true</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+***************************************************************************************
+<p>
+
+<p>
+Definition at line <a class="el" href="a06190.html#l01003">1003</a> of file <a class="el" href="a06190.html">polygon.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01013">height</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a06191.html#l00160">NLMISC::CPolygon2D::TRasterVect</a>, <a class="el" href="a05981.html#l00105">uint</a>, <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::x</a>, and <a class="el" href="a06677.html#l00052">NLMISC::CVector2f::y</a>.
+<p>
+Referenced by <a class="el" href="a06190.html#l01075">NLMISC::CPolygon2D::computeBorders()</a>.
+<p>
+<div class="fragment"><pre>01004 {
+01005 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> rol16 = 65536;
+01006 <a class="code" href="a04558.html#a14">sint</a> ceilY1 = (<a class="code" href="a04558.html#a14">sint</a>) ceilf(v1.y);
+01007 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a633">height</a>;
+01008 <span class="keywordtype">float</span> deltaX, deltaY;
+01009 <span class="keywordtype">float</span> fInverseSlope;
+01010 <a class="code" href="a04558.html#a14">sint</a> iInverseSlope, iPosX;
+01011
+01012 <span class="comment">// check wether this segment gives a contribution to the final poly</span>
+01013 <a class="code" href="a04223.html#a633">height</a> = (<a class="code" href="a04558.html#a14">sint</a>) (ceilf(v2.y) - ceilY1);
+01014 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> &lt;= 0) <span class="keywordflow">return</span>;
+01015
+01016 <span class="comment">// compute slope</span>
+01017 deltaY = v2.y - v1.y;
+01018 deltaX = v2.x - v1.x;
+01019 fInverseSlope = deltaX / deltaY;
+01020
+01021
+01022 CPolygon2D::TRasterVect::iterator outputIt = outputVect.begin() + (ceilY1 - topY);
+01023
+01024 <span class="comment">// slope with ints</span>
+01025 iInverseSlope = (<a class="code" href="a04558.html#a14">sint</a>) (rol16 * fInverseSlope);
+01026
+01027 <span class="comment">// sub-pixel accuracy</span>
+01028 iPosX = (<span class="keywordtype">int</span>) (rol16 * (v1.x + fInverseSlope * (ceilY1 - v1.y)));
+01029
+01030 <span class="keyword">const</span> CPolygon2D::TRasterVect::iterator endIt = outputIt + <a class="code" href="a04223.html#a633">height</a>;
+01031 <span class="keywordflow">if</span> (rightEdge)
+01032 {
+01033 <span class="keywordflow">do</span>
+01034 {
+01035 outputIt-&gt;second = iPosX &gt;&gt; 16;
+01036 iPosX += iInverseSlope;
+01037 ++outputIt;
+01038 }
+01039 <span class="keywordflow">while</span> (outputIt != endIt);
+01040 }
+01041 <span class="keywordflow">else</span>
+01042 {
+01043 iPosX += (rol16 - 1);
+01044 <span class="keywordflow">do</span>
+01045 {
+01046 outputIt-&gt;first = iPosX &gt;&gt; 16;
+01047 iPosX += iInverseSlope;
+01048 ++outputIt;
+01049 }
+01050 <span class="keywordflow">while</span> (outputIt != endIt);
+01051 }
+01052 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a350" doxytag="NLMISC::ScanInnerEdge" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ScanInnerEdge </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03101.html#NLMISC_1_1CPolygon2Dw0">CPolygon2D::TRaster</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>r</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x2</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y2</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>minY</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>rightEdge</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06190.html#l01517">1517</a> of file <a class="el" href="a06190.html">polygon.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01013">height</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05646.html#l00993">r</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00099">sint32</a>, <a class="el" href="a06191.html#l00159">NLMISC::CPolygon2D::TRaster</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06190.html#l01618">NLMISC::CPolygon2D::computeInnerBorders()</a>.
+<p>
+<div class="fragment"><pre>01518 {
+01519 <span class="keyword">const</span> <a class="code" href="a04558.html#a15">uint</a> rol16 = 65536;
+01520 <a class="code" href="a03101.html#NLMISC_1_1CPolygon2Dw0">CPolygon2D::TRaster</a> *currRaster;
+01521 <span class="keywordtype">float</span> deltaX, deltaY;
+01522 <span class="keywordtype">float</span> inverseSlope;
+01523 <a class="code" href="a04558.html#a10">sint32</a> iInverseSlope, iposx;
+01524 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a633">height</a>;
+01525 deltaX = x2 - x1;
+01526 <a class="code" href="a04223.html#a633">height</a> = (<a class="code" href="a04558.html#a14">sint</a>) (ceilf(y2) - floorf(y1));
+01527 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> &lt;= 0) <span class="keywordflow">return</span>;
+01528 deltaY = y2 - y1;
+01529 inverseSlope = deltaX / deltaY;
+01530 iInverseSlope = (<a class="code" href="a04558.html#a10">sint32</a>) (rol16 * inverseSlope);
+01531 currRaster = <a class="code" href="a04223.html#a628">r</a> + ((<a class="code" href="a04558.html#a14">sint</a>) floorf(y1) - minY);
+01532 iposx = (<a class="code" href="a04558.html#a10">sint32</a>) (rol16 * (x1 + inverseSlope * (ceilf(y1) - y1))); <span class="comment">// sub-pixel accuracy </span>
+01533 <span class="keywordflow">if</span> (rightEdge)
+01534 {
+01535 iposx -= rol16 - 1;
+01536 <span class="keywordflow">if</span> (deltaX &gt;= 0.f)
+01537 {
+01538 <span class="comment">// start of segment </span>
+01539 <span class="keywordflow">if</span> (floorf(y1) != y1)
+01540 {
+01541 currRaster-&gt;second = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a14">sint</a>) floorf(x1) - 1, currRaster-&gt;second);
+01542 ++ currRaster;
+01543 -- <a class="code" href="a04223.html#a633">height</a>;
+01544 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> == 0) <span class="keywordflow">return</span>;
+01545 }
+01546 <span class="keywordflow">do</span>
+01547 {
+01548 currRaster-&gt;second = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a14">sint</a>) (iposx &gt;&gt; 16), currRaster-&gt;second);
+01549 iposx += iInverseSlope;
+01550 ++ currRaster;
+01551 }
+01552 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a633">height</a>);
+01553 }
+01554 <span class="keywordflow">else</span>
+01555 {
+01556 <span class="comment">// start of segment </span>
+01557 <span class="keywordflow">if</span> (floorf(y1) != y1)
+01558 {
+01559 currRaster-&gt;second = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a14">sint</a>) (iposx &gt;&gt; 16), currRaster-&gt;second);
+01560 ++ currRaster;
+01561 -- <a class="code" href="a04223.html#a633">height</a>;
+01562 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> == 0) <span class="keywordflow">return</span>;
+01563 }
+01564 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a633">height</a>)
+01565 {
+01566 iposx += iInverseSlope;
+01567 currRaster-&gt;second = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a14">sint</a>) (iposx &gt;&gt; 16), currRaster-&gt;second);
+01568 ++ currRaster;
+01569 }
+01570 <span class="comment">// fill bottom of segment </span>
+01571 currRaster-&gt;second = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a14">sint</a>) floorf(x2) - 1, currRaster-&gt;second);
+01572 }
+01573 }
+01574 <span class="keywordflow">else</span>
+01575 {
+01576 iposx += rol16 - 1;
+01577 <span class="keywordflow">if</span> (deltaX &lt; 0.f)
+01578 {
+01579 <span class="comment">// start of segment </span>
+01580 <span class="keywordflow">if</span> (floorf(y1) != y1)
+01581 {
+01582 currRaster-&gt;first = std::max((<a class="code" href="a04558.html#a14">sint</a>) ceilf(x1), currRaster-&gt;first);
+01583 ++ currRaster;
+01584 -- <a class="code" href="a04223.html#a633">height</a>;
+01585 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> == 0) <span class="keywordflow">return</span>;
+01586 }
+01587 <span class="keywordflow">do</span>
+01588 {
+01589 currRaster-&gt;first = std::max((<a class="code" href="a04558.html#a14">sint</a>) (iposx &gt;&gt; 16), currRaster-&gt;first);
+01590 iposx += iInverseSlope;
+01591 ++ currRaster;
+01592 }
+01593 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a633">height</a>);
+01594 }
+01595 <span class="keywordflow">else</span>
+01596 {
+01597 <span class="comment">// start of segment </span>
+01598 <span class="keywordflow">if</span> (floorf(y1) != y1)
+01599 {
+01600 currRaster-&gt;first = std::max((<a class="code" href="a04558.html#a14">sint</a>) (iposx &gt;&gt; 16), currRaster-&gt;first);
+01601 ++ currRaster;
+01602 -- <a class="code" href="a04223.html#a633">height</a>;
+01603 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> == 0) <span class="keywordflow">return</span>;
+01604 }
+01605 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a633">height</a>)
+01606 {
+01607 iposx += iInverseSlope;
+01608 currRaster-&gt;first = std::max((<a class="code" href="a04558.html#a14">sint</a>) (iposx &gt;&gt; 16), currRaster-&gt;first);
+01609 ++ currRaster;
+01610 }
+01611 <span class="comment">// fill bottom of segment </span>
+01612 currRaster-&gt;first = std::max((<a class="code" href="a04558.html#a14">sint</a>) ceilf(x1), currRaster-&gt;first);
+01613 }
+01614 }
+01615 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a349" doxytag="NLMISC::ScanOuterEdgeLeft" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ScanOuterEdgeLeft </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03101.html#NLMISC_1_1CPolygon2Dw0">CPolygon2D::TRaster</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>r</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x2</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y2</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>minY</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06190.html#l01288">1288</a> of file <a class="el" href="a06190.html">polygon.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01013">height</a>, <a class="el" href="a05484.html#l00038">min</a>, <a class="el" href="a05646.html#l00993">r</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00099">sint32</a>, and <a class="el" href="a06191.html#l00159">NLMISC::CPolygon2D::TRaster</a>.
+<p>
+Referenced by <a class="el" href="a06190.html#l01344">NLMISC::CPolygon2D::computeOuterBorders()</a>.
+<p>
+<div class="fragment"><pre>01289 {
+01290 <a class="code" href="a03101.html#NLMISC_1_1CPolygon2Dw0">CPolygon2D::TRaster</a> *currRaster;
+01291 <span class="keywordtype">float</span> deltaX, deltaY;
+01292 <span class="keywordtype">float</span> inverseSlope;
+01293 <a class="code" href="a04558.html#a10">sint32</a> iInverseSlope, iposx;
+01294 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a633">height</a>;
+01295 deltaX = x2 - x1;
+01296 <a class="code" href="a04223.html#a633">height</a> = (<a class="code" href="a04558.html#a14">sint</a>) (ceilf(y2) - floorf(y1)) ;
+01297 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> &lt;= 0) <span class="keywordflow">return</span>;
+01298 <span class="keywordflow">if</span> (deltaX &lt; 0.f)
+01299 {
+01300 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> == 1)
+01301 {
+01302 currRaster = <a class="code" href="a04223.html#a628">r</a> + ((<a class="code" href="a04558.html#a14">sint</a>) floorf(y1) - minY);
+01303 currRaster-&gt;first = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a14">sint</a>) floorf(x2), currRaster-&gt;first);
+01304 }
+01305 <span class="keywordflow">else</span>
+01306 {
+01307 deltaY = y2 - y1;
+01308 inverseSlope = deltaX / deltaY;
+01309 iInverseSlope = (<a class="code" href="a04558.html#a10">sint32</a>) (65536.0 * inverseSlope);
+01310 currRaster = <a class="code" href="a04223.html#a628">r</a> + ((<a class="code" href="a04558.html#a14">sint</a>) floorf(y1) - minY);
+01311 iposx = (<a class="code" href="a04558.html#a10">sint32</a>) (65536.0 * (x1 + inverseSlope * (ceilf(y1) - y1))); <span class="comment">// sub-pixel accuracy</span>
+01312 <span class="keywordflow">do</span>
+01313 {
+01314 currRaster-&gt;first = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a14">sint</a>) (iposx &gt;&gt; 16), currRaster-&gt;first);
+01315 iposx += iInverseSlope;
+01316 ++ currRaster;
+01317 -- <a class="code" href="a04223.html#a633">height</a>;
+01318 }
+01319 <span class="keywordflow">while</span> (<a class="code" href="a04223.html#a633">height</a> != 1);
+01320 <span class="comment">// correction for last line</span>
+01321 currRaster-&gt;first = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a14">sint</a>) floorf(x2), currRaster-&gt;first);
+01322 }
+01323 }
+01324 <span class="keywordflow">else</span>
+01325 {
+01326 deltaY = y2 - y1;
+01327 inverseSlope = deltaX / deltaY;
+01328 iInverseSlope = (<a class="code" href="a04558.html#a10">sint32</a>) (65536.0 * inverseSlope);
+01329 currRaster = <a class="code" href="a04223.html#a628">r</a> + ((<a class="code" href="a04558.html#a14">sint</a>) floorf(y1) - minY);
+01330 currRaster-&gt;first = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a14">sint</a>) floorf(x1), currRaster-&gt;first);
+01331 ++ currRaster;
+01332 iposx = (<a class="code" href="a04558.html#a10">sint32</a>) (65536.0 * (x1 + inverseSlope * (ceilf(y1) - y1))); <span class="comment">// sub-pixel accuracy</span>
+01333 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a633">height</a>)
+01334 {
+01335 currRaster-&gt;first = <a class="code" href="a04061.html#a0">std::min</a>((<a class="code" href="a04558.html#a14">sint</a>) (iposx &gt;&gt; 16), currRaster-&gt;first);
+01336 iposx += iInverseSlope;
+01337 ++ currRaster;
+01338 }
+01339 }
+01340 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a348" doxytag="NLMISC::ScanOuterEdgeRight" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void ScanOuterEdgeRight </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03101.html#NLMISC_1_1CPolygon2Dw0">CPolygon2D::TRaster</a> *&nbsp;</td>
+ <td class="mdname" nowrap> <em>r</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y1</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>x2</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>float&nbsp;</td>
+ <td class="mdname" nowrap> <em>y2</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a14">sint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>minY</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06190.html#l01232">1232</a> of file <a class="el" href="a06190.html">polygon.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01013">height</a>, <a class="el" href="a05646.html#l00993">r</a>, <a class="el" href="a05981.html#l00104">sint</a>, <a class="el" href="a05981.html#l00099">sint32</a>, and <a class="el" href="a06191.html#l00159">NLMISC::CPolygon2D::TRaster</a>.
+<p>
+Referenced by <a class="el" href="a06190.html#l01344">NLMISC::CPolygon2D::computeOuterBorders()</a>.
+<p>
+<div class="fragment"><pre>01233 {
+01234 <a class="code" href="a03101.html#NLMISC_1_1CPolygon2Dw0">CPolygon2D::TRaster</a> *currRaster;
+01235 <span class="keywordtype">float</span> deltaX, deltaY;
+01236 <span class="keywordtype">float</span> inverseSlope;
+01237 <a class="code" href="a04558.html#a10">sint32</a> iInverseSlope, iposx;
+01238 <a class="code" href="a04558.html#a14">sint</a> <a class="code" href="a04223.html#a633">height</a>;
+01239 deltaX = x2 - x1;
+01240 <a class="code" href="a04223.html#a633">height</a> = (<a class="code" href="a04558.html#a14">sint</a>) (ceilf(y2) - floorf(y1)) ;
+01241 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> &lt;= 0) <span class="keywordflow">return</span>;
+01242 <span class="keywordflow">if</span> (deltaX &gt;= 0.f)
+01243 {
+01244 <span class="keywordflow">if</span> (<a class="code" href="a04223.html#a633">height</a> == 1)
+01245 {
+01246 currRaster = <a class="code" href="a04223.html#a628">r</a> + ((<a class="code" href="a04558.html#a14">sint</a>) floorf(y1) - minY);
+01247 currRaster-&gt;second = std::max((<a class="code" href="a04558.html#a14">sint</a>) floorf(x2), currRaster-&gt;second);
+01248 }
+01249 <span class="keywordflow">else</span>
+01250 {
+01251 deltaY = y2 - y1;
+01252 inverseSlope = deltaX / deltaY;
+01253 iInverseSlope = (<a class="code" href="a04558.html#a10">sint32</a>) (65536.0 * inverseSlope);
+01254 currRaster = <a class="code" href="a04223.html#a628">r</a> + ((<a class="code" href="a04558.html#a14">sint</a>) floorf(y1) - minY);
+01255 iposx = (<a class="code" href="a04558.html#a10">sint32</a>) (65536.0 * (x1 + inverseSlope * (ceilf(y1) - y1))); <span class="comment">// sub-pixel accuracy</span>
+01256 <span class="keywordflow">do</span>
+01257 {
+01258 currRaster-&gt;second = std::max((<a class="code" href="a04558.html#a14">sint</a>) (iposx &gt;&gt; 16), currRaster-&gt;second);
+01259 iposx += iInverseSlope;
+01260 ++ currRaster;
+01261 -- <a class="code" href="a04223.html#a633">height</a>;
+01262 }
+01263 <span class="keywordflow">while</span> (<a class="code" href="a04223.html#a633">height</a> != 1);
+01264 <span class="comment">// correction for last line</span>
+01265 currRaster-&gt;second = std::max((<a class="code" href="a04558.html#a14">sint</a>) floorf(x2), currRaster-&gt;second);
+01266 }
+01267 }
+01268 <span class="keywordflow">else</span>
+01269 {
+01270 deltaY = y2 - y1;
+01271 inverseSlope = deltaX / deltaY;
+01272 iInverseSlope = (<a class="code" href="a04558.html#a10">sint32</a>) (65536.0 * inverseSlope);
+01273 currRaster = <a class="code" href="a04223.html#a628">r</a> + ((<a class="code" href="a04558.html#a14">sint</a>) floorf(y1) - minY);
+01274 currRaster-&gt;second = std::max((<a class="code" href="a04558.html#a14">sint</a>) floorf(x1), currRaster-&gt;second);
+01275 ++ currRaster;
+01276 iposx = (<a class="code" href="a04558.html#a10">sint32</a>) (65536.0 * (x1 + inverseSlope * (ceilf(y1) - y1))); <span class="comment">// sub-pixel accuracy</span>
+01277 <span class="keywordflow">while</span> (--<a class="code" href="a04223.html#a633">height</a>)
+01278 {
+01279 currRaster-&gt;second = std::max((<a class="code" href="a04558.html#a14">sint</a>) (iposx &gt;&gt; 16), currRaster-&gt;second);
+01280 iposx += iInverseSlope;
+01281 ++ currRaster;
+01282 }
+01283 }
+01284 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a367" doxytag="NLMISC::searchLowerBound" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> searchLowerBound </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::vector&lt; T &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>array</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>key</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Search the lower_bound in a sorted array of Value, in growing order (0, 1, 2....). operator&lt;= is used to perform the comparison. It return the first element such that array[id]&lt;=key If not possible, 0 is returned NB: but 0 may still be a good value, so you must check wether or not 0 means "Not found", or "Id 0".
+<p>
+Definition at line <a class="el" href="a05426.html#l00109">109</a> of file <a class="el" href="a05426.html">algo.h</a>.
+<p>
+References <a class="el" href="a05426.html#l00082">searchLowerBound()</a>, <a class="el" href="a05646.html#l00645">size</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00110 {
+00111 <a class="code" href="a04558.html#a15">uint</a> <a class="code" href="a04223.html#a587">size</a>= array.size();
+00112 <span class="keywordflow">if</span>(<a class="code" href="a04223.html#a587">size</a>==0)
+00113 <span class="keywordflow">return</span> 0;
+00114 <span class="keywordflow">else</span>
+00115 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a366">searchLowerBound</a>(&amp;array[0], size, key);
+00116 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a366" doxytag="NLMISC::searchLowerBound" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a15">uint</a> searchLowerBound </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T *&nbsp;</td>
+ <td class="mdname" nowrap> <em>array</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap><a class="el" href="a04558.html#a15">uint</a>&nbsp;</td>
+ <td class="mdname" nowrap> <em>arraySize</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>key</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Search the lower_bound in a sorted array of Value, in growing order (0, 1, 2....). operator&lt;= is used to perform the comparison. It return the first element such that array[id]&lt;=key If not possible, 0 is returned NB: but 0 may still be a good value, so you must check wether or not 0 means "Not found", or "Id 0".
+<p>
+Definition at line <a class="el" href="a05426.html#l00082">82</a> of file <a class="el" href="a05426.html">algo.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06560.html#l00211">NL3D::CTrackSampledCommon::evalTime()</a>, <a class="el" href="a05794.html#l00077">NL3D::CHLSTextureManager::findTexture()</a>, and <a class="el" href="a05426.html#l00109">searchLowerBound()</a>.
+<p>
+<div class="fragment"><pre>00083 {
+00084 <a class="code" href="a04558.html#a15">uint</a> start=0;
+00085 <a class="code" href="a04558.html#a15">uint</a> end= arraySize;
+00086 <span class="comment">// find lower_bound by dichotomy</span>
+00087 <span class="keywordflow">while</span>(end-1&gt;start)
+00088 {
+00089 <a class="code" href="a04558.html#a15">uint</a> pivot= (end+start)/2;
+00090 <span class="comment">// return the lower_bound, ie return first start with array[pivot]&lt;=key</span>
+00091 <span class="keywordflow">if</span>(array[pivot] &lt;= key)
+00092 start= pivot;
+00093 <span class="keywordflow">else</span>
+00094 end= pivot;
+00095 }
+00096
+00097 <span class="keywordflow">return</span> start;
+00098 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a270" doxytag="NLMISC::secondsToHumanReadable" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NLMISC::secondsToHumanReadable </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a04558.html#a11">uint32</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>time</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert a time into a string that is easily readable by an human, for example 3600 -&gt; "1h".
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00476">476</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01119">res</a>, <a class="el" href="a06229.html#l02652">toString()</a>, <a class="el" href="a05981.html#l00105">uint</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+Referenced by <a class="el" href="a05586.html#l00526">NLMISC_COMMAND()</a>, and <a class="el" href="a06364.html#l01375">NLNET::NLMISC_DYNVARIABLE()</a>.
+<p>
+<div class="fragment"><pre>00477 {
+00478 <span class="keyword">static</span> <span class="keywordtype">char</span> *divTable[] = { <span class="stringliteral">"s"</span>, <span class="stringliteral">"mn"</span>, <span class="stringliteral">"h"</span>, <span class="stringliteral">"d"</span> };
+00479 <span class="keyword">static</span> <a class="code" href="a04558.html#a15">uint</a> divCoef[] = { 60, 60, 24 };
+00480 <a class="code" href="a04558.html#a15">uint</a> div = 0;
+00481 <a class="code" href="a04558.html#a11">uint32</a> <a class="code" href="a04223.html#a643">res</a> = time;
+00482 <a class="code" href="a04558.html#a11">uint32</a> newres = <a class="code" href="a04223.html#a643">res</a>;
+00483 <span class="keywordflow">while</span> (<span class="keyword">true</span>)
+00484 {
+00485 <span class="keywordflow">if</span>(div &gt; 2)
+00486 <span class="keywordflow">break</span>;
+00487
+00488 newres /= divCoef[div];
+00489
+00490 <span class="keywordflow">if</span>(newres &lt; 3)
+00491 <span class="keywordflow">break</span>;
+00492
+00493 div++;
+00494 <a class="code" href="a04223.html#a643">res</a> = newres;
+00495 }
+00496 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a> (<span class="stringliteral">"%u%s"</span>, res, divTable[div]);
+00497 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a292" doxytag="NLMISC::setAssert" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::setAssert </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">bool&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>assert</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00110">110</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00496">assert</a>, and <a class="el" href="a05621.html#l00086">NoAssert</a>.
+<p>
+Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>.
+<p>
+<div class="fragment"><pre>00111 {
+00112 <a class="code" href="a05378.html#a8">NoAssert</a> = !<a class="code" href="a04199.html#a15">assert</a>;
+00113 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a291" doxytag="NLMISC::setCrashCallback" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::setCrashCallback </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">TCrashCallback&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>crashCallback</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00104">104</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+References <a class="el" href="a05621.html#l00102">CrashCallback</a>, and <a class="el" href="a05622.html#l00075">TCrashCallback</a>.
+<p>
+<div class="fragment"><pre>00105 {
+00106 <a class="code" href="a05378.html#a19">CrashCallback</a> = crashCallback;
+00107 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a353" doxytag="NLMISC::setReportEmailFunction" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::setReportEmailFunction </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>emailFunction</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+call this in the main of your appli to enable email: setReportEmailFunction (sendEmail);
+<p>
+Definition at line <a class="el" href="a06331.html#l00067">67</a> of file <a class="el" href="a06331.html">report.cpp</a>.
+<p>
+References <a class="el" href="a06331.html#l00065">EmailFunction</a>, and <a class="el" href="a06331.html#l00061">TEmailFunction</a>.
+<p>
+Referenced by <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>.
+<p>
+<div class="fragment"><pre>00068 {
+00069 <a class="code" href="a05378.html#a35">EmailFunction</a> = (<a class="code" href="a05378.html#a34">TEmailFunction</a>)emailFunction;
+00070
+00071 <span class="preprocessor">#ifdef NL_OS_WINDOWS</span>
+00072 <span class="preprocessor"></span> <span class="keywordflow">if</span> (sendReport)
+00073 EnableWindow(sendReport, FALSE);
+00074 <span class="preprocessor">#endif</span>
+00075 <span class="preprocessor"></span>}
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a330" doxytag="NLMISC::skipToken" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* skipToken </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05776.html#l02259">2259</a> of file <a class="el" href="a05776.html">misc/heap_allocator.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05776.html#l02269">NLMISC::CHeapAllocator::getAllocatedSystemMemory()</a>.
+<p>
+<div class="fragment"><pre>02260 {
+02261 <span class="keywordflow">while</span> (isspace(*p)) p++;
+02262 <span class="keywordflow">while</span> (*p &amp;&amp; !isspace(*p)) p++;
+02263 <span class="keywordflow">return</span> (<span class="keywordtype">char</span> *)p;
+02264 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a329" doxytag="NLMISC::skipWS" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char* skipWS </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>p</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline, static]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05776.html#l02253">2253</a> of file <a class="el" href="a05776.html">misc/heap_allocator.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05776.html#l02269">NLMISC::CHeapAllocator::getAllocatedSystemMemory()</a>.
+<p>
+<div class="fragment"><pre>02254 {
+02255 <span class="keywordflow">while</span> (isspace(*p)) p++;
+02256 <span class="keywordflow">return</span> (<span class="keywordtype">char</span> *)p;
+02257 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a259" doxytag="NLMISC::smprintf" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a04558.html#a14">sint</a> NLMISC::smprintf </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>size_t&nbsp;</td>
+ <td class="mdname" nowrap> <em>count</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>format</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>...&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+sMart sprintf function. This function do a sprintf and add a zero at the end of the buffer if there no enough room in the buffer.<p>
+<dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>buffer</em>&nbsp;</td><td>a C string </td></tr>
+ <tr><td valign=top><em>count</em>&nbsp;</td><td>Size of the buffer </td></tr>
+ <tr><td valign=top><em>format</em>&nbsp;</td><td>of the string, it must be the last argument before the <code>'</code>...' </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00161">161</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a05646.html#l00240">count</a>, <a class="el" href="a05646.html#l01016">format</a>, and <a class="el" href="a05981.html#l00104">sint</a>.
+<p>
+Referenced by <a class="el" href="a05637.html#l00103">NLMISC::IDisplayer::dateToComputerString()</a>, <a class="el" href="a05776.html#l01916">NLMISC::CHeapAllocator::debugReportMemoryLeak()</a>, <a class="el" href="a05787.html#l00288">NLMISC::CHTimer::display()</a>, <a class="el" href="a05508.html#l00540">NLMISC::CBufFIFO::display()</a>, <a class="el" href="a05787.html#l00375">NLMISC::CHTimer::displayByExecutionPath()</a>, <a class="el" href="a05598.html#l00306">NLMISC::EBadSize::EBadSize()</a>, <a class="el" href="a05598.html#l00295">NLMISC::EBadType::EBadType()</a>, <a class="el" href="a05598.html#l00339">NLMISC::EFileNotFound::EFileNotFound()</a>, <a class="el" href="a05642.html#l03093">NL3D::CDriverGL::endProfileVBHardLock()</a>, <a class="el" href="a05598.html#l00328">NLMISC::EParseError::EParseError()</a>, <a class="el" href="a05598.html#l00317">NLMISC::EUnknownVar::EUnknownVar()</a>, <a class="el" href="a05728.html#l02712">NLGEORGES::CFormElmArray::getFormName()</a>, <a class="el" href="a05720.html#l00073">NL3D::CFontGenerator::getFT2Error()</a>, <a class="el" href="a05728.html#l00764">NLGEORGES::CFormElm::getIternalNodeByName()</a>, <a class="el" href="a06509.html#l00048">NL3D::CTextureBlend::getShareName()</a>, <a class="el" href="a05648.html#l01266">NL3D::CDriverGL::getSpecularCubeMap()</a>, <a class="el" href="a05787.html#l00877">NLMISC::CHTimer::CStats::getStats()</a>, <a class="el" href="a06650.html#l00096">NLNET::_CUniTime::getStringUniTime()</a>, <a class="el" href="a05639.html#l00277">NL3D::IDriver::getTextureShareName()</a>, <a class="el" href="a05642.html#l02059">NL3D::CDriverGL::getVideocardInformation()</a>, <a class="el" href="a05954.html#l00072">NLLOGIC::getXMLProp()</a>, <a class="el" href="a05637.html#l00110">NLMISC::IDisplayer::HeaderString()</a>, <a class="el" href="a06167.html#l01370">NLMISC::CFile::isDirectory()</a>, <a class="el" href="a06412.html#l00081">NLSOUND::CSoundAnimation::save()</a>, <a class="el" href="a05961.html#l00068">NLNET::CLoginCookie::setToString()</a>, <a class="el" href="a05728.html#l01647">NLGEORGES::CFormElm::setValueByName()</a>, <a class="el" href="a05724.html#l00045">NLGEORGES::warning()</a>, <a class="el" href="a05773.html#l00055">NLGEORGES::CFileHeader::write()</a>, and <a class="el" href="a05954.html#l00042">NLLOGIC::xmlCheckNodeName()</a>.
+<p>
+<div class="fragment"><pre>00162 {
+00163 <a class="code" href="a04558.html#a14">sint</a> ret;
+00164
+00165 va_list args;
+00166 va_start( args, format );
+00167 ret = vsnprintf( buffer, count, format, args );
+00168 <span class="keywordflow">if</span> ( ret == -1 )
+00169 {
+00170 <a class="code" href="a04223.html#a589">buffer</a>[<a class="code" href="a04223.html#a577">count</a>-1] = <span class="charliteral">'\0'</span>;
+00171 }
+00172 va_end( args );
+00173
+00174 <span class="keywordflow">return</span>( ret );
+00175 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a248" doxytag="NLMISC::splitString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void NLMISC::splitString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>separator</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>std::vector&lt; std::string &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>retList</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+From a string with some separator, build a vector of string. eg: splitString("hello|bye|||bee", "|", list) return 3 string into list: "hello", "bye" and "bee".
+<p>
+Definition at line <a class="el" href="a05425.html#l00122">122</a> of file <a class="el" href="a05425.html">algo.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00123 {
+00124 <a class="code" href="a04558.html#a15">uint</a> pos=0;
+00125 <a class="code" href="a04558.html#a15">uint</a> newPos=0;
+00126 retList.clear();
+00127 <span class="keywordflow">while</span>( (newPos= str.find(separator,pos)) != string::npos)
+00128 {
+00129 <span class="comment">// if not empty sub str. (skip repetition of separator )</span>
+00130 <span class="keywordflow">if</span>(newPos-pos&gt;0)
+00131 retList.push_back(str.substr(pos, newPos-pos));
+00132 <span class="comment">// skip token</span>
+00133 pos= newPos+separator.size();
+00134 }
+00135 <span class="comment">// copy the last substr</span>
+00136 <span class="keywordflow">if</span>( pos&lt;(<a class="code" href="a04558.html#a15">uint</a>)str.size() )
+00137 retList.push_back(str.substr(pos, str.size()-pos));
+00138 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a373" doxytag="NLMISC::sqr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> T sqr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>v</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Return the square of a number
+<p>
+Definition at line <a class="el" href="a05587.html#l00107">107</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+References <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+Referenced by <a class="el" href="a05787.html#l00812">NLMISC::CHTimer::CStats::buildFromNodes()</a>, <a class="el" href="a05876.html#l00053">NL3D::CLVBSqrDistLUT::CLVBSqrDistLUT()</a>, <a class="el" href="a06163.html#l00052">NL3D::CPatchDLMPointLight::compile()</a>, <a class="el" href="a05937.html#l00066">NL3D::CLodCharacterShapeBuild::compile()</a>, <a class="el" href="a05790.html#l00628">NL3D::CHLSColorTexture::compressBlockRGB()</a>, <a class="el" href="a06497.html#l00113">NL3D::CTessVertex::computeGeomPos()</a>, <a class="el" href="a06179.html#l00273">NL3D::CPointLight::computeLinearAttenuation()</a>, <a class="el" href="a06161.html#l00054">NL3D::CPatch::computeNewFar()</a>, <a class="el" href="a06497.html#l00312">NL3D::CTessFace::computeTileEMForUpdateRefine()</a>, <a class="el" href="a06497.html#l00234">NL3D::CTessFace::computeTileErrorMetric()</a>, <a class="el" href="a06686.html#l00132">NL3D::CVegetable::generateGroupEx()</a>, <a class="el" href="a06477.html#l00384">NLPACS::CSurfaceQuadTree::getInterpZ()</a>, <a class="el" href="a06725.html#l00096">NL3D::CVisualCollisionEntity::getPatchTriangleUnderUs()</a>, <a class="el" href="a05862.html#l02496">NL3D::CLandscape::getTesselatedPos()</a>, <a class="el" href="a06237.html#l00105">NL3D::CPSFloatCurveFunctor::getValue()</a>, <a class="el" href="a05504.html#l00063">NLMISC::CBSphere::include()</a>, <a class="el" href="a05504.html#l00079">NLMISC::CBSphere::intersect()</a>, <a class="el" href="a05532.html#l00131">NL3D::CCameraCol::minimizeDistanceAgainstTri()</a>, <a class="el" href="a06497.html#l00278">NL3D::CTessFace::updateErrorMetric()</a>, and <a class="el" href="a05862.html#l00799">NL3D::CLandscape::updateGlobalsAndLockBuffers()</a>.
+<p>
+<div class="fragment"><pre>00108 {
+00109 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a576">v</a> * <a class="code" href="a04223.html#a576">v</a>;
+00110 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a370" doxytag="NLMISC::strFindReplace" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T, class U&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> bool strFindReplace </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>strFind</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const U &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>strReplace</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05426.html#l00188">188</a> of file <a class="el" href="a05426.html">algo.h</a>.
+<p>
+References <a class="el" href="a05426.html#l00176">strFindReplace()</a>.
+<p>
+<div class="fragment"><pre>00189 {
+00190 T tempStr= strFind;
+00191 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a369">strFindReplace</a>(str, tempStr, strReplace);
+00192 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a369" doxytag="NLMISC::strFindReplace" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T, class U&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> bool strFindReplace </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>str</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const T &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>strFind</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const U &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>strReplace</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+In a string or ucstring, find a substr and replace it with an other. return true if replaced.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05426.html#l00176">176</a> of file <a class="el" href="a05426.html">algo.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05426.html#l00188">strFindReplace()</a>.
+<p>
+<div class="fragment"><pre>00177 {
+00178 <a class="code" href="a04558.html#a15">uint</a> pos= str.find(strFind);
+00179 <span class="keywordflow">if</span>(pos != T::npos)
+00180 {
+00181 str.replace(pos, strFind.size(), T(strReplace) );
+00182 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00183 }
+00184 <span class="keywordflow">else</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00185 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a385" doxytag="NLMISC::stricmp" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int stricmp </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>lhs</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>rhs</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Compare 2 C-Style strings without regard to case <dl compact><dt><b>Returns:</b></dt><dd>0 if strings are equal, &lt; 0 if lhs &lt; rhs, &gt; 0 if lhs &gt; rhs</dd></dl>
+On Windows, use stricmp On GNU/Linux, create stricmp using strcasecmp and use stricmp
+<p>
+Definition at line <a class="el" href="a05587.html#l00225">225</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+Referenced by <a class="el" href="a06431.html#l00639">NLMISC::CSString::icompare()</a>, <a class="el" href="a05587.html#l00228">nlstricmp()</a>, <a class="el" href="a06431.html#l00579">NLMISC::CSString::operator!=()</a>, <a class="el" href="a06431.html#l00627">NLMISC::CSString::operator&lt;()</a>, <a class="el" href="a06431.html#l00591">NLMISC::CSString::operator&lt;=()</a>, <a class="el" href="a06431.html#l00567">NLMISC::CSString::operator==()</a>, <a class="el" href="a06431.html#l00615">NLMISC::CSString::operator&gt;()</a>, and <a class="el" href="a06431.html#l00603">NLMISC::CSString::operator&gt;=()</a>.
+<p>
+<div class="fragment"><pre>00225 { <span class="keywordflow">return</span> strcasecmp(lhs, rhs); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a390" doxytag="NLMISC::stringFromVector" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string stringFromVector </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::vector&lt; <a class="el" href="a04558.html#a7">uint8</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>limited</em> = true</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Returns a readable string from a vector of bytes. unprintable char are replaced by '?'.
+<p>
+ </td>
+ </tr>
+</table>
+<a class="anchor" name="a258" doxytag="NLMISC::stringFromVector" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> string stringFromVector </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const vector&lt; <a class="el" href="a04558.html#a7">uint8</a> &gt; &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>v</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>bool&nbsp;</td>
+ <td class="mdname" nowrap> <em>limited</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00107">107</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l00977">s</a>, <a class="el" href="a05646.html#l00645">size</a>, <a class="el" href="a05981.html#l00096">uint8</a>, and <a class="el" href="a05646.html#l00237">v</a>.
+<p>
+Referenced by <a class="el" href="a05512.html#l00364">NLNET::CBufServer::dataAvailable()</a>, <a class="el" href="a05506.html#l00140">NLNET::CBufClient::dataAvailable()</a>, and <a class="el" href="a05514.html#l00386">NLNET::CNonBlockingBufSock::receivePart()</a>.
+<p>
+<div class="fragment"><pre>00108 {
+00109 string <a class="code" href="a04223.html#a626">s</a>;
+00110
+00111 <span class="keywordflow">if</span> (!<a class="code" href="a04223.html#a576">v</a>.empty())
+00112 {
+00113 <span class="keywordtype">int</span> <a class="code" href="a04223.html#a587">size</a> = <a class="code" href="a04223.html#a576">v</a>.size ();
+00114 <span class="keywordflow">if</span> (limited &amp;&amp; <a class="code" href="a04223.html#a587">size</a> &gt; 1000)
+00115 {
+00116 string middle = <span class="stringliteral">"...&lt;buf too big,skip middle part&gt;..."</span>;
+00117 <a class="code" href="a04223.html#a626">s</a>.resize (1000 + middle.size());
+00118 memcpy (&amp;*<a class="code" href="a04223.html#a626">s</a>.begin(), &amp;*<a class="code" href="a04223.html#a576">v</a>.begin(), 500);
+00119 memcpy (&amp;*<a class="code" href="a04223.html#a626">s</a>.begin()+500, &amp;*middle.begin(), middle.size());
+00120 memcpy (&amp;*<a class="code" href="a04223.html#a626">s</a>.begin()+500+middle.size(), &amp;*<a class="code" href="a04223.html#a576">v</a>.begin()+<a class="code" href="a04223.html#a587">size</a>-500, 500);
+00121 }
+00122 <span class="keywordflow">else</span>
+00123 {
+00124 <a class="code" href="a04223.html#a626">s</a>.resize (size);
+00125 memcpy( &amp;*<a class="code" href="a04223.html#a626">s</a>.begin(), &amp;*<a class="code" href="a04223.html#a576">v</a>.begin(), <a class="code" href="a04223.html#a576">v</a>.size() );
+00126 }
+00127
+00128 <span class="comment">// Replace '\0' characters</span>
+00129 string::iterator is;
+00130 <span class="keywordflow">for</span> ( is=<a class="code" href="a04223.html#a626">s</a>.begin(); is!=<a class="code" href="a04223.html#a626">s</a>.end(); ++is )
+00131 {
+00132 <span class="comment">// remplace non printable char and % with '?' chat</span>
+00133 <span class="keywordflow">if</span> ( ! isprint((<a class="code" href="a04558.html#a7">uint8</a>)(*is)) || (*is) == <span class="charliteral">'%'</span>)
+00134 {
+00135 (*is) = <span class="charliteral">'?'</span>;
+00136 }
+00137 }
+00138 }
+00139 <span class="comment">/*</span>
+00140 <span class="comment"> if ( ! v.empty() )</span>
+00141 <span class="comment"> {</span>
+00142 <span class="comment"> // Copy contents</span>
+00143 <span class="comment"> s.resize( v.size() );</span>
+00144 <span class="comment"> memcpy( &amp;*s.begin(), &amp;*v.begin(), v.size() );</span>
+00145 <span class="comment"></span>
+00146 <span class="comment"> // Replace '\0' characters</span>
+00147 <span class="comment"> string::iterator is;</span>
+00148 <span class="comment"> for ( is=s.begin(); is!=s.end(); ++is )</span>
+00149 <span class="comment"> {</span>
+00150 <span class="comment"> // remplace non printable char and % with '?' chat</span>
+00151 <span class="comment"> if ( ! isprint((*is)) || (*is) == '%')</span>
+00152 <span class="comment"> {</span>
+00153 <span class="comment"> (*is) = '?';</span>
+00154 <span class="comment"> }</span>
+00155 <span class="comment"> }</span>
+00156 <span class="comment"> }</span>
+00157 <span class="comment">*/</span> <span class="keywordflow">return</span> <a class="code" href="a04223.html#a626">s</a>;
+00158 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a275" doxytag="NLMISC::strlwr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char * NLMISC::strlwr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert a string in lower case. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>a</em>&nbsp;</td><td>pointer to char to transform to lower case </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00564">564</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+<div class="fragment"><pre>00565 {
+00566 <span class="keywordflow">if</span> (str == NULL)
+00567 <span class="keywordflow">return</span> NULL;
+00568
+00569 <span class="keywordflow">while</span> (*str != <span class="charliteral">'\0'</span>)
+00570 {
+00571 <span class="keywordflow">if</span> ( (*str &gt;= <span class="charliteral">'A'</span>) &amp;&amp; (*str &lt;= <span class="charliteral">'Z'</span>) )
+00572 {
+00573 *str = *str - <span class="charliteral">'A'</span> + <span class="charliteral">'a'</span>;
+00574 }
+00575 str++;
+00576 }
+00577
+00578 <span class="keywordflow">return</span> str;
+00579 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a274" doxytag="NLMISC::strlwr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string &amp; NLMISC::strlwr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert a string in lower case. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>a</em>&nbsp;</td><td>string to transform to lower case </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00551">551</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00552 {
+00553 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i &lt; str.size(); i++)
+00554 {
+00555 <span class="keywordflow">if</span> ( (str[i] &gt;= <span class="charliteral">'A'</span>) &amp;&amp; (str[i] &lt;= <span class="charliteral">'Z'</span>) )
+00556 {
+00557 str[i] = str[i] - <span class="charliteral">'A'</span> + <span class="charliteral">'a'</span>;
+00558 }
+00559 }
+00560
+00561 <span class="keywordflow">return</span> str;
+00562 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a273" doxytag="NLMISC::strlwr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NLMISC::strlwr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00536">536</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01119">res</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a06378.html#l00527">NL3D::CShapeBank::add()</a>, <a class="el" href="a05480.html#l00086">NLMISC::CBigFile::add()</a>, <a class="el" href="a06378.html#l00059">NL3D::CShapeBank::addRef()</a>, <a class="el" href="a05792.html#l00062">NL3D::CHLSTextureBank::addTextureInstance()</a>, <a class="el" href="a05463.html#l00151">NL3D::CAsyncTextureManager::addTextureRef()</a>, <a class="el" href="a06350.html#l00766">NL3D::CInstanceGroup::addToSceneAsync()</a>, <a class="el" href="a06203.html#l00097">NLLIGO::CPrimitiveConfigurations::belong()</a>, <a class="el" href="a06384.html#l00081">NLMISC::CSheetId::build()</a>, <a class="el" href="a05567.html#l00070">NL3D::CCoarseMeshBuild::buildBitmap()</a>, <a class="el" href="a06378.html#l00497">NL3D::CShapeBank::cancelLoadAsync()</a>, <a class="el" href="a05729.html#l00625">NLGEORGES::CFormElm::convertValue()</a>, <a class="el" href="a06348.html#l00600">NL3D::CScene::createInstance()</a>, <a class="el" href="a06348.html#l00674">NL3D::CScene::createInstanceAsync()</a>, <a class="el" href="a05584.html#l00275">NLMISC::ICommand::expand()</a>, <a class="el" href="a05794.html#l00077">NL3D::CHLSTextureManager::findTexture()</a>, <a class="el" href="a05668.html#l00154">NLMISC::CEntityIdTranslator::getByEntity()</a>, <a class="el" href="a05668.html#l00103">NLMISC::CEntityIdTranslator::getByUser()</a>, <a class="el" href="a05726.html#l00863">NLGEORGES::CFormDfn::getDependencies()</a>, <a class="el" href="a05724.html#l00373">NLGEORGES::CForm::getDependencies()</a>, <a class="el" href="a06536.html#l00597">NL3D::CTileBank::getDisplacementMap()</a>, <a class="el" href="a05480.html#l00273">NLMISC::CBigFile::getFile()</a>, <a class="el" href="a05480.html#l00341">NLMISC::CBigFile::getFileNamePtr()</a>, <a class="el" href="a06536.html#l00268">NL3D::CTileBank::getNumBitmap()</a>, <a class="el" href="a05668.html#l00590">NLMISC::CEntityIdTranslator::getRegisterableString()</a>, <a class="el" href="a06378.html#l00413">NL3D::CShapeBank::getShape()</a>, <a class="el" href="a06350.html#l00552">NL3D::CInstanceGroup::getShapeName()</a>, <a class="el" href="a06521.html#l00261">NL3D::CTextureFile::getShareName()</a>, <a class="el" href="a05639.html#l00277">NL3D::IDriver::getTextureShareName()</a>, <a class="el" href="a05878.html#l00045">H_AUTO_DECL()</a>, <a class="el" href="a06378.html#l00397">NL3D::CShapeBank::isPresent()</a>, <a class="el" href="a06378.html#l00645">NL3D::CShapeBank::linkShapeToShapeCache()</a>, <a class="el" href="a05480.html#l00248">NLMISC::CBigFile::list()</a>, <a class="el" href="a06378.html#l00427">NL3D::CShapeBank::load()</a>, <a class="el" href="a06378.html#l00465">NL3D::CShapeBank::loadAsync()</a>, <a class="el" href="a05730.html#l00205">NLGEORGES::CFormLoader::loadForm()</a>, <a class="el" href="a05730.html#l00139">NLGEORGES::CFormLoader::loadFormDfn()</a>, <a class="el" href="a06384.html#l00236">NLMISC::CSheetId::loadSheetAlias()</a>, <a class="el" href="a06384.html#l00112">NLMISC::CSheetId::loadSheetId()</a>, <a class="el" href="a05730.html#l00069">NLGEORGES::CFormLoader::loadType()</a>, <a class="el" href="a06384.html#l00356">NLMISC::CSheetId::operator=()</a>, <a class="el" href="a06378.html#l00771">NL3D::CShapeBank::preLoadShapes()</a>, <a class="el" href="a06201.html#l00193">NLLIGO::CPrimitiveClass::read()</a>, <a class="el" href="a05567.html#l00430">NL3D::CCoarseMeshBuild::remapCoordinates()</a>, <a class="el" href="a06167.html#l00190">NLMISC::CPath::remapExtension()</a>, <a class="el" href="a06167.html#l00270">NLMISC::CPath::remapFile()</a>, <a class="el" href="a05642.html#l03199">NL3D::CDriverGL::retrieveATIDriverVersion()</a>, <a class="el" href="a05670.html#l00128">NLNET::sendEmail()</a>, <a class="el" href="a06350.html#l00828">NL3D::CInstanceGroup::stopAddToSceneAsync()</a>, and <a class="el" href="a06384.html#l00590">NLMISC::CSheetId::typeFromFileExtension()</a>.
+<p>
+<div class="fragment"><pre>00537 {
+00538 string <a class="code" href="a04223.html#a643">res</a>;
+00539 <a class="code" href="a04223.html#a643">res</a>.reserve (str.size());
+00540 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i &lt; str.size(); i++)
+00541 {
+00542 <span class="keywordflow">if</span> ( (str[i] &gt;= <span class="charliteral">'A'</span>) &amp;&amp; (str[i] &lt;= <span class="charliteral">'Z'</span>) )
+00543 <a class="code" href="a04223.html#a643">res</a> += str[i] - <span class="charliteral">'A'</span> + <span class="charliteral">'a'</span>;
+00544 <span class="keywordflow">else</span>
+00545 <a class="code" href="a04223.html#a643">res</a> += str[i];
+00546 }
+00547
+00548 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a643">res</a>;
+00549 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a278" doxytag="NLMISC::strupr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char * NLMISC::strupr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">char *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert a string in upper case. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>a</em>&nbsp;</td><td>pointer to char to transform to upper case </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00610">610</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+<div class="fragment"><pre>00611 {
+00612 <span class="keywordflow">if</span> (str == NULL)
+00613 <span class="keywordflow">return</span> NULL;
+00614
+00615 <span class="keywordflow">while</span> (*str != <span class="charliteral">'\0'</span>)
+00616 {
+00617 <span class="keywordflow">if</span> ( (*str &gt;= <span class="charliteral">'a'</span>) &amp;&amp; (*str &lt;= <span class="charliteral">'z'</span>) )
+00618 {
+00619 *str = *str - <span class="charliteral">'a'</span> + <span class="charliteral">'A'</span>;
+00620 }
+00621 str++;
+00622 }
+00623
+00624 <span class="keywordflow">return</span> str;
+00625 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a277" doxytag="NLMISC::strupr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NLMISC::strupr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00594">594</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05646.html#l01119">res</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00595 {
+00596 string <a class="code" href="a04223.html#a643">res</a>;
+00597 <a class="code" href="a04223.html#a643">res</a>.reserve (str.size());
+00598 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i &lt; str.size(); i++)
+00599 {
+00600 <span class="keywordflow">if</span> ( (str[i] &gt;= <span class="charliteral">'a'</span>) &amp;&amp; (str[i] &lt;= <span class="charliteral">'z'</span>) )
+00601 <a class="code" href="a04223.html#a643">res</a> += str[i] - <span class="charliteral">'a'</span> + <span class="charliteral">'A'</span>;
+00602 <span class="keywordflow">else</span>
+00603 <a class="code" href="a04223.html#a643">res</a> += str[i];
+00604 }
+00605
+00606 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a643">res</a>;
+00607 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a276" doxytag="NLMISC::strupr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string &amp; NLMISC::strupr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>str</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Convert a string in upper case. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>a</em>&nbsp;</td><td>string to transform to upper case </td></tr>
+ </table>
+</dl>
+
+<p>
+Definition at line <a class="el" href="a05586.html#l00581">581</a> of file <a class="el" href="a05586.html">common.cpp</a>.
+<p>
+References <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+Referenced by <a class="el" href="a05878.html#l00045">H_AUTO_DECL()</a>, and <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>.
+<p>
+<div class="fragment"><pre>00582 {
+00583 <span class="keywordflow">for</span> (<a class="code" href="a04558.html#a15">uint</a> i = 0; i &lt; str.size(); i++)
+00584 {
+00585 <span class="keywordflow">if</span> ( (str[i] &gt;= <span class="charliteral">'a'</span>) &amp;&amp; (str[i] &lt;= <span class="charliteral">'z'</span>) )
+00586 {
+00587 str[i] = str[i] - <span class="charliteral">'a'</span> + <span class="charliteral">'A'</span>;
+00588 }
+00589 }
+00590
+00591 <span class="keywordflow">return</span> str;
+00592 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a247" doxytag="NLMISC::testWildCard" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::testWildCard </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>strIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>wildCard</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+return true if the string strIn verify the wildcard string wildCard. eg: testWildCard("azert", "*")== true testWildCard("azert", "??er*")== true testWildCard("azert", "*er*")== true testWildCard("azert", "azert*")== true Undefined result if s has some '*', return false if wildcard has some "**" or "*?" NB: case-sensitive
+<p>
+Definition at line <a class="el" href="a05425.html#l00045">45</a> of file <a class="el" href="a05425.html">algo.cpp</a>.
+<p>
+References <a class="el" href="a05425.html#l00038">testWildCard()</a>, and <a class="el" href="a05981.html#l00105">uint</a>.
+<p>
+<div class="fragment"><pre>00046 {
+00047 <span class="comment">// run the 2 string in //el</span>
+00048 <span class="keywordflow">while</span>(*wildCard!=0 &amp;&amp; *strIn!=0)
+00049 {
+00050 <span class="comment">// if same char, continue.</span>
+00051 <span class="keywordflow">if</span>(*wildCard==*strIn)
+00052 {
+00053 wildCard++;
+00054 strIn++;
+00055 }
+00056 <span class="comment">// if wildCard is ?, continue</span>
+00057 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(*wildCard==<span class="charliteral">'?'</span>)
+00058 {
+00059 wildCard++;
+00060 strIn++;
+00061 }
+00062 <span class="comment">// if wildcard is *, recurs check.</span>
+00063 <span class="keywordflow">else</span> <span class="keywordflow">if</span>(*wildCard==<span class="charliteral">'*'</span>)
+00064 {
+00065 wildCard++;
+00066 <span class="comment">// if last *, its OK.</span>
+00067 <span class="keywordflow">if</span>(*wildCard==0)
+00068 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00069 <span class="comment">// else must check next strings.</span>
+00070 <span class="keywordflow">else</span>
+00071 {
+00072 <span class="comment">// build the wilcard token. eg from "*pipo?", take "pipo"</span>
+00073 string token;
+00074 <span class="keywordflow">while</span>(*wildCard!=<span class="charliteral">'*'</span> &amp;&amp; *wildCard!=<span class="charliteral">'?'</span> &amp;&amp; *wildCard!=0)
+00075 {
+00076 token+= *wildCard;
+00077 wildCard++;
+00078 }
+00079 <span class="comment">// if token size is empty, error</span>
+00080 <span class="keywordflow">if</span>(token.empty())
+00081 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00082
+00083 <span class="comment">// in strIn, search all the occurence of token. For each solution, recurs test.</span>
+00084 string sCopy= strIn;
+00085 <a class="code" href="a04558.html#a15">uint</a> pos= sCopy.find(token, 0);
+00086 <span class="keywordflow">while</span>(pos!=string::npos)
+00087 {
+00088 <span class="comment">// do a testWildCard test on the remaining string/wildCard</span>
+00089 <span class="keywordflow">if</span>( <a class="code" href="a05378.html#a246">testWildCard</a>(strIn+pos+token.size(), wildCard) )
+00090 <span class="comment">// if succeed, end</span>
+00091 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00092 <span class="comment">// fails=&gt; test with an other occurence of token in the string.</span>
+00093 pos= sCopy.find(token, pos+1);
+00094 }
+00095
+00096 <span class="comment">// if all failed, fail</span>
+00097 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00098 }
+00099 }
+00100 <span class="comment">// else fail</span>
+00101 <span class="keywordflow">else</span>
+00102 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00103 }
+00104
+00105 <span class="comment">// If quit here because end Of 2 strs, OK.</span>
+00106 <span class="keywordflow">if</span>(*wildCard==0 &amp;&amp; *strIn==0)
+00107 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00108 <span class="comment">// if quit here because wildCard=="*" and s="", OK too.</span>
+00109 <span class="keywordflow">if</span>(*strIn==0 &amp;&amp; wildCard[0]==<span class="charliteral">'*'</span> &amp;&amp; wildCard[1]==0)
+00110 <span class="keywordflow">return</span> <span class="keyword">true</span>;
+00111
+00112 <span class="comment">/*</span>
+00113 <span class="comment"> Else false:</span>
+00114 <span class="comment"> It may be wildCard="?aez" and s="" =&gt; error</span>
+00115 <span class="comment"> It may be wildCard="" and s="aer" =&gt; error</span>
+00116 <span class="comment"> */</span>
+00117 <span class="keywordflow">return</span> <span class="keyword">false</span>;
+00118 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a246" doxytag="NLMISC::testWildCard" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool NLMISC::testWildCard </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>strIn</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const std::string &amp;&nbsp;</td>
+ <td class="mdname" nowrap> <em>wildCard</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05425.html#l00038">38</a> of file <a class="el" href="a05425.html">algo.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05668.html#l00177">NLMISC::CEntityIdTranslator::isValidEntityName()</a>, <a class="el" href="a06378.html#l00771">NL3D::CShapeBank::preLoadShapes()</a>, and <a class="el" href="a05425.html#l00045">testWildCard()</a>.
+<p>
+<div class="fragment"><pre>00039 {
+00040 <span class="keywordflow">return</span> <a class="code" href="a05378.html#a246">testWildCard</a>(strIn.c_str(), wildCard.c_str());
+00041 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a422" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const std::string &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00197">197</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+<div class="fragment"><pre>00197 { <span class="keywordflow">return</span> val; }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a421" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const bool &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00196">196</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06229.html#l02652">toString()</a>.
+<p>
+<div class="fragment"><pre>00196 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%u"</span>, val?1:0); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a420" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const double &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00195">195</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06229.html#l02652">toString()</a>.
+<p>
+<div class="fragment"><pre>00195 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%lf"</span>, val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a419" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const float &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00194">194</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06229.html#l02652">toString()</a>.
+<p>
+<div class="fragment"><pre>00194 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%f"</span>, val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a418" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a12">sint64</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00193">193</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00107">NL_I64</a>, <a class="el" href="a05981.html#l00101">sint64</a>, and <a class="el" href="a06229.html#l02652">toString()</a>.
+<p>
+<div class="fragment"><pre>00193 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%"</span>NL_I64<span class="stringliteral">"d"</span>, val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a417" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a13">uint64</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00192">192</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00107">NL_I64</a>, <a class="el" href="a06229.html#l02652">toString()</a>, and <a class="el" href="a05981.html#l00102">uint64</a>.
+<p>
+<div class="fragment"><pre>00192 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%"</span>NL_I64<span class="stringliteral">"u"</span>, val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a416" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a10">sint32</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00191">191</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00099">sint32</a>, and <a class="el" href="a06229.html#l02652">toString()</a>.
+<p>
+<div class="fragment"><pre>00191 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%d"</span>, val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a415" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a11">uint32</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00190">190</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06229.html#l02652">toString()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00190 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%u"</span>, val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a414" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a8">sint16</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00189">189</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00097">sint16</a>, and <a class="el" href="a06229.html#l02652">toString()</a>.
+<p>
+<div class="fragment"><pre>00189 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%hd"</span>, val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a413" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a9">uint16</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00188">188</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06229.html#l02652">toString()</a>, and <a class="el" href="a05981.html#l00098">uint16</a>.
+<p>
+<div class="fragment"><pre>00188 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%hu"</span>, val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a412" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a6">sint8</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00187">187</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a05981.html#l00097">sint16</a>, <a class="el" href="a05981.html#l00095">sint8</a>, and <a class="el" href="a06229.html#l02652">toString()</a>.
+<p>
+<div class="fragment"><pre>00187 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%hd"</span>, (<a class="code" href="a04558.html#a8">sint16</a>)val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a411" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const <a class="el" href="a04558.html#a7">uint8</a> &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00186">186</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06229.html#l02652">toString()</a>, <a class="el" href="a05981.html#l00098">uint16</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00186 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%hu"</span>, (<a class="code" href="a04558.html#a9">uint16</a>)val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a410" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>obj</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Template Object toString. <dl compact><dt><b>Parameters:</b></dt><dd>
+ <table border="0" cellspacing="2" cellpadding="0">
+ <tr><td valign=top><em>obj</em>&nbsp;</td><td>any object providing a "std::string toString()" method. The object doesn't have to derive from anything.</td></tr>
+ </table>
+</dl>
+the VC++ error "error C2228: left of '.toString' must have class/struct/union type" means you don't provide a <a class="el" href="a05378.html#a244">toString()</a> method to your object.
+<p>
+Definition at line <a class="el" href="a06465.html#l00180">180</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+<div class="fragment"><pre>00181 {
+00182 <span class="keywordflow">return</span> obj.toString();
+00183 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a407" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>format</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>...&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00157">157</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a05646.html#l01016">format</a>, and <a class="el" href="a06465.html#l00070">NLMISC_CONVERT_VARGS</a>.
+<p>
+<div class="fragment"><pre>00159 {
+00160 std::string Result;
+00161 <a class="code" href="a05042.html#a0">NLMISC_CONVERT_VARGS</a>(Result, format, NLMISC::MaxCStringSize);
+00162 <span class="keywordflow">return</span> Result;
+00163 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a244" doxytag="NLMISC::toString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> std::string NLMISC::toString </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top"><a class="el" href="a03179.html#NL3D_1_1CPSSphericalEmitterw6">NL3D::CPSEmitter::TEmissionType</a>&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>type</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06229.html#l02652">2652</a> of file <a class="el" href="a06229.html">ps_emitter.cpp</a>.
+<p>
+References <a class="el" href="a05622.html#l00290">nlassert</a>, <a class="el" href="a05622.html#l00541">nlctassert</a>, and <a class="el" href="a05646.html#l00244">type</a>.
+<p>
+Referenced by <a class="el" href="a06645.html#l01700">NLNET::CUnifiedNetwork::addNamedCnx()</a>, <a class="el" href="a06645.html#l00653">NLNET::CUnifiedNetwork::addService()</a>, <a class="el" href="a05810.html#l00397">NLNET::CInetAddress::asIPString()</a>, <a class="el" href="a05810.html#l00385">NLNET::CInetAddress::asString()</a>, <a class="el" href="a05597.html#l00097">NLMISC::CConfigFile::CVar::asString()</a>, <a class="el" href="a05514.html#l00329">NLNET::CBufSock::asString()</a>, <a class="el" href="a06778.html#l00186">NL3D::CZoneSymmetrisation::build()</a>, <a class="el" href="a05567.html#l00070">NL3D::CCoarseMeshBuild::buildBitmap()</a>, <a class="el" href="a05586.html#l00388">bytesToHumanReadable()</a>, <a class="el" href="a05668.html#l00313">NLMISC::CEntityIdTranslator::checkEntity()</a>, <a class="el" href="a05943.html#l00051">NLMISC::CLog::CLog()</a>, <a class="el" href="a06032.html#l00531">NLAINIMAT::CMHiCSbase::dbgPrintClassifierPriorityInFile()</a>, <a class="el" href="a06645.html#l01826">NLNET::CUnifiedNetwork::CUnifiedConnection::display()</a>, <a class="el" href="a05787.html#l00288">NLMISC::CHTimer::display()</a>, <a class="el" href="a05787.html#l00375">NLMISC::CHTimer::displayByExecutionPath()</a>, <a class="el" href="a05482.html#l00673">NLMISC::CBitMemStream::displayStream()</a>, <a class="el" href="a06751.html#l00130">NLMISC::CWindowDisplayer::doDisplay()</a>, <a class="el" href="a05976.html#l00330">NLMISC::CMemDisplayer::doDisplay()</a>, <a class="el" href="a05637.html#l00479">NLMISC::CMsgBoxDisplayer::doDisplay()</a>, <a class="el" href="a05637.html#l00379">NLMISC::CFileDisplayer::doDisplay()</a>, <a class="el" href="a05637.html#l00148">NLMISC::CStdDisplayer::doDisplay()</a>, <a class="el" href="a06485.html#l00163">NLMISC::CTaskManager::dump()</a>, <a class="el" href="a06718.html#l01053">dumpOperand()</a>, <a class="el" href="a05642.html#l03093">NL3D::CDriverGL::endProfileVBHardLock()</a>, <a class="el" href="a06666.html#l00304">NLMISC::CVariable&lt; std::string &gt;::execute()</a>, <a class="el" href="a05728.html#l02309">NLGEORGES::CFormElmArray::getArrayNodeName()</a>, <a class="el" href="a05722.html#l00298">NL3D::CFontManager::getCacheInformation()</a>, <a class="el" href="a06032.html#l00707">NLAINIMAT::CMHiCSagent::getDebugString()</a>, <a class="el" href="a06032.html#l00196">NLAINIMAT::CMotivationEnergy::getDebugString()</a>, <a class="el" href="a05551.html#l00459">NLAINIMAT::CClassifierSystem::getDebugString()</a>, <a class="el" href="a05483.html#l00300">NLMISC::CBMSDbgInfo::getEventIdAtBitPos()</a>, <a class="el" href="a05483.html#l00765">NLMISC::CBMSDbgInfo::getEventLegendAtBitPos()</a>, <a class="el" href="a06479.html#l00049">NLMISC::CSystemInfo::getOS()</a>, <a class="el" href="a05482.html#l00737">NLMISC::CBitMemStream::getSerialItem()</a>, <a class="el" href="a06645.html#l01464">NLNET::CUnifiedNetwork::getServiceUnifiedName()</a>, <a class="el" href="a06364.html#l01348">NLNET::IService::getServiceUnifiedName()</a>, <a class="el" href="a06666.html#l00280">NLMISC::CVariable&lt; std::string &gt;::getStat()</a>, <a class="el" href="a05787.html#l00877">NLMISC::CHTimer::CStats::getStats()</a>, <a class="el" href="a06753.html#l00052">NLMISC::CWordsDictionary::init()</a>, <a class="el" href="a06645.html#l00479">NLNET::CUnifiedNetwork::init()</a>, <a class="el" href="a05810.html#l00527">NLNET::internalIPAddressToString()</a>, <a class="el" href="a06768.html#l00920">NL3D::CZoneLighter::light()</a>, <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, <a class="el" href="a05668.html#l00603">NLMISC_COMMAND()</a>, <a class="el" href="a06364.html#l01375">NLNET::NLMISC_DYNVARIABLE()</a>, <a class="el" href="a06718.html#l00921">CVPParser::parse()</a>, <a class="el" href="a05634.html#l00203">STRING_MANAGER::prepareStringFile()</a>, <a class="el" href="a05642.html#l03157">NL3D::CDriverGL::profileVBHardAllocation()</a>, <a class="el" href="a05514.html#l00386">NLNET::CNonBlockingBufSock::receivePart()</a>, <a class="el" href="a05761.html#l02448">NLPACS::CGlobalRetriever::refreshLrAround()</a>, <a class="el" href="a05761.html#l02554">NLPACS::CGlobalRetriever::refreshLrAroundNow()</a>, <a class="el" href="a05567.html#l00430">NL3D::CCoarseMeshBuild::remapCoordinates()</a>, <a class="el" href="a06645.html#l01727">NLNET::CUnifiedNetwork::removeNamedCnx()</a>, <a class="el" href="a06485.html#l00061">NLMISC::CTaskManager::run()</a>, <a class="el" href="a05586.html#l00476">secondsToHumanReadable()</a>, <a class="el" href="a06229.html#l00326">NL3D::CPSEmitter::setEmissionType()</a>, <a class="el" href="a05656.html#l00372">NL3D::CDriverGL::setupEXTVertexShader()</a>, <a class="el" href="a05728.html#l01584">NLGEORGES::CFormElm::setValueByName()</a>, <a class="el" href="a06032.html#l00691">NLAINIMAT::CMHiCSagent::targetId2String()</a>, <a class="el" href="a06672.html#l00045">NLMISC::CVector::toString()</a>, <a class="el" href="a06666.html#l00238">NLMISC::CVariable&lt; std::string &gt;::toString()</a>, <a class="el" href="a06666.html#l00204">NLMISC::CVariablePtr&lt; T &gt;::toString()</a>, <a class="el" href="a06465.html#l00186">toString()</a>, <a class="el" href="a06384.html#l00428">NLMISC::CSheetId::toString()</a>, <a class="el" href="a06367.html#l00087">CHashKey::toString()</a>, <a class="el" href="a06026.html#l00441">NLNET::CMessage::toString()</a>, <a class="el" href="a05961.html#l00095">NLNET::CLoginCookie::toString()</a>, <a class="el" href="a06465.html#l00171">toStringEnum()</a>, <a class="el" href="a06465.html#l00169">toStringPtr()</a>, <a class="el" href="a06645.html#l00179">NLNET::uncbDisconnection()</a>, <a class="el" href="a06645.html#l00284">NLNET::uncbServiceIdentification()</a>, <a class="el" href="a06645.html#l00058">NLNET::uNetRegistrationBroadcast()</a>, <a class="el" href="a06645.html#l00100">NLNET::uNetUnregistrationBroadcast()</a>, <a class="el" href="a06195.html#l01823">NLLIGO::CPrimitives::write()</a>, <a class="el" href="a06195.html#l01627">NLLIGO::IPrimitive::write()</a>, <a class="el" href="a06195.html#l00154">NLLIGO::WriteFloat()</a>, and <a class="el" href="a06195.html#l00142">NLLIGO::WriteVector()</a>.
+<p>
+<div class="fragment"><pre>02653 {
+02654 <a class="code" href="a04199.html#a16">nlctassert</a>(NL3D::CPSEmitter::numEmissionType == 5); <span class="comment">// If this ct assertion is raised, the content of TEmissionType has changed, so should change this function !</span>
+02655 <span class="keywordflow">switch</span> (<a class="code" href="a04223.html#a581">type</a>)
+02656 {
+02657 <span class="keywordflow">case</span> <a class="code" href="a03179.html#NL3D_1_1CPSSphericalEmitterw6NL3D_1_1CPSSphericalEmitterw5">NL3D::CPSEmitter::regular</a>: <span class="keywordflow">return</span> <span class="stringliteral">"regular"</span>;
+02658 <span class="keywordflow">case</span> <a class="code" href="a03179.html#NL3D_1_1CPSSphericalEmitterw6NL3D_1_1CPSSphericalEmitterw4">NL3D::CPSEmitter::onDeath</a>: <span class="keywordflow">return</span> <span class="stringliteral">"onDeath"</span>;
+02659 <span class="keywordflow">case</span> <a class="code" href="a03179.html#NL3D_1_1CPSSphericalEmitterw6NL3D_1_1CPSSphericalEmitterw3">NL3D::CPSEmitter::once</a>: <span class="keywordflow">return</span> <span class="stringliteral">"once"</span>;
+02660 <span class="keywordflow">case</span> <a class="code" href="a03179.html#NL3D_1_1CPSSphericalEmitterw6NL3D_1_1CPSSphericalEmitterw2">NL3D::CPSEmitter::onBounce</a>: <span class="keywordflow">return</span> <span class="stringliteral">"onBounce"</span>;
+02661 <span class="keywordflow">case</span> <a class="code" href="a03179.html#NL3D_1_1CPSSphericalEmitterw6NL3D_1_1CPSSphericalEmitterw0">NL3D::CPSEmitter::externEmit</a>: <span class="keywordflow">return</span> <span class="stringliteral">"externEmit"</span>;
+02662 <span class="keywordflow">default</span>:
+02663 <a class="code" href="a04199.html#a6">nlassert</a>(0);
+02664 <span class="keywordflow">return</span> <span class="stringliteral">""</span>;
+02665 <span class="keywordflow">break</span>;
+02666 }
+02667 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a409" doxytag="NLMISC::toStringEnum" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toStringEnum </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T &amp;&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00171">171</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06229.html#l02652">toString()</a>, and <a class="el" href="a05981.html#l00100">uint32</a>.
+<p>
+<div class="fragment"><pre>00171 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%u"</span>, (<a class="code" href="a04558.html#a11">uint32</a>)val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a408" doxytag="NLMISC::toStringPtr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> std::string toStringPtr </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">const T *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>val</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00169">169</a> of file <a class="el" href="a06465.html">string_common.h</a>.
+<p>
+References <a class="el" href="a06229.html#l02652">toString()</a>.
+<p>
+Referenced by <a class="el" href="a05514.html#l00329">NLNET::CBufSock::asString()</a>.
+<p>
+<div class="fragment"><pre>00169 { <span class="keywordflow">return</span> <a class="code" href="a05378.html#a244">toString</a>(<span class="stringliteral">"%p"</span>, val); }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a394" doxytag="NLMISC::type_cast" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" colspan="4">
+template&lt;class T, class U&gt; </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap valign="top"> T type_cast </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">U&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>o</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap><code> [inline]</code></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+type_cast&lt;&gt;: this is a function which <a class="el" href="a04199.html#a6">nlassert()</a> a dynamic_cast in Debug, and just do a static_cast in release. So slow check is made in debug, but only fast cast is made in release. Differs from safe_cast by allowinf NULL objets.
+<p>
+Definition at line <a class="el" href="a05622.html#l00520">520</a> of file <a class="el" href="a05622.html">debug.h</a>.
+<p>
+<div class="fragment"><pre>00523 {
+00524 <span class="keywordflow">return</span> static_cast&lt;T &gt;(o);
+00525 }
+00526 <span class="keywordflow">else</span>
+00527 {
+00528 <span class="keywordflow">return</span> (o==NULL)?NULL:static_cast&lt;T &gt;(o);
+00529 }
+00530
+00531 }
+00532
+00535 <span class="preprocessor">#define nlctassert(cond) sizeof(uint[(cond) ? 1 : 0]);</span>
+00536 <span class="preprocessor"></span>
+00537
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a332" doxytag="NLMISC::xmlGenericErrorFuncRead" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void xmlGenericErrorFuncRead </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname" nowrap> <em>ctx</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>...&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05800.html#l00129">129</a> of file <a class="el" href="a05800.html">i_xml.cpp</a>.
+<p>
+References <a class="el" href="a06465.html#l00070">NLMISC_CONVERT_VARGS</a>, and <a class="el" href="a05800.html#l00129">xmlGenericErrorFuncRead()</a>.
+<p>
+Referenced by <a class="el" href="a05800.html#l00129">xmlGenericErrorFuncRead()</a>.
+<p>
+<div class="fragment"><pre>00130 {
+00131 <span class="comment">// Get the error string</span>
+00132 string str;
+00133 <a class="code" href="a05042.html#a0">NLMISC_CONVERT_VARGS</a> (str, msg, NLMISC::MaxCStringSize);
+00134 ((CIXml*)ctx)-&gt;_ErrorString += str;
+00135 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a337" doxytag="NLMISC::xmlGenericErrorFuncWrite" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> void xmlGenericErrorFuncWrite </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname" nowrap> <em>ctx</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>msg</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>...&nbsp;</td>
+ <td class="mdname" nowrap></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06107.html#l00101">101</a> of file <a class="el" href="a06107.html">o_xml.cpp</a>.
+<p>
+References <a class="el" href="a06465.html#l00070">NLMISC_CONVERT_VARGS</a>.
+<p>
+Referenced by <a class="el" href="a06107.html#l00111">NLMISC::COXml::init()</a>.
+<p>
+<div class="fragment"><pre>00102 {
+00103 <span class="comment">// Get the error string</span>
+00104 string str;
+00105 <a class="code" href="a05042.html#a0">NLMISC_CONVERT_VARGS</a> (str, msg, NLMISC::MaxCStringSize);
+00106 ((<a class="code" href="a03032.html">COXml</a>*)ctx)-&gt;_ErrorString += str;
+00107 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a339" doxytag="NLMISC::xmlOutputCloseCallbackForNeL" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int xmlOutputCloseCallbackForNeL </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname1" valign="top" nowrap> <em>context</em> </td>
+ <td class="md" valign="top">&nbsp;)&nbsp;</td>
+ <td class="md" nowrap></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06107.html#l00662">662</a> of file <a class="el" href="a06107.html">o_xml.cpp</a>.
+<p>
+<div class="fragment"><pre>00663 {
+00664 <span class="comment">// Get the object</span>
+00665 <span class="comment">// COXml *object = (COXml*) context;</span>
+00666
+00667 <span class="comment">// Does nothing</span>
+00668 <span class="keywordflow">return</span> 1;
+00669 }
+</pre></div> </td>
+ </tr>
+</table>
+<a class="anchor" name="a338" doxytag="NLMISC::xmlOutputWriteCallbackForNeL" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int xmlOutputWriteCallbackForNeL </td>
+ <td class="md" valign="top">(&nbsp;</td>
+ <td class="md" nowrap valign="top">void *&nbsp;</td>
+ <td class="mdname" nowrap> <em>context</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>const char *&nbsp;</td>
+ <td class="mdname" nowrap> <em>buffer</em>, </td>
+ </tr>
+ <tr>
+ <td class="md" nowrap align="right"></td>
+ <td></td>
+ <td class="md" nowrap>int&nbsp;</td>
+ <td class="mdname" nowrap> <em>len</em></td>
+ </tr>
+ <tr>
+ <td></td>
+ <td class="md">)&nbsp;</td>
+ <td class="md" colspan="2"></td>
+ </tr>
+
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06107.html#l00648">648</a> of file <a class="el" href="a06107.html">o_xml.cpp</a>.
+<p>
+References <a class="el" href="a06108.html#l00174">NLMISC::COXml::_InternalStream</a>, <a class="el" href="a05646.html#l00649">buffer</a>, <a class="el" href="a05646.html#l00235">len</a>, <a class="el" href="a02270.html#NLMISC_1_1IStreamz2041_1">NLMISC::IStream::serialBuffer()</a>, and <a class="el" href="a05981.html#l00096">uint8</a>.
+<p>
+<div class="fragment"><pre>00649 {
+00650 <span class="comment">// Get the object</span>
+00651 <a class="code" href="a03032.html">COXml</a> *object = (<a class="code" href="a03032.html">COXml</a>*) context;
+00652
+00653 <span class="comment">// Serialise the buffer</span>
+00654 object-&gt;<a class="code" href="a03032.html#NLMISC_1_1COXmlr6">_InternalStream</a>-&gt;<a class="code" href="a02270.html#NLMISC_1_1IStreamz2041_1">serialBuffer</a> ((<a class="code" href="a04558.html#a7">uint8</a>*)buffer, len);
+00655
+00656 <span class="comment">// Return the value</span>
+00657 <span class="keywordflow">return</span> <a class="code" href="a04223.html#a571">len</a>;
+00658 }
+</pre></div> </td>
+ </tr>
+</table>
+<hr><h2>Variable Documentation</h2>
+<a class="anchor" name="a14" doxytag="NLMISC::AssertLog" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02813.html">CLog</a> * <a class="el" href="a05378.html#a14">NLMISC::AssertLog</a> = NULL
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00093">93</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06364.html#l00361">NLNET::cbLogFilter()</a>, <a class="el" href="a05621.html#l00900">createDebug()</a>, <a class="el" href="a05621.html#l00154">initDebug2()</a>, <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, and <a class="el" href="a05621.html#l01013">NLMISC_COMMAND()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a31" doxytag="NLMISC::BasePathgetPathContent" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> string <a class="el" href="a05378.html#a31">NLMISC::BasePathgetPathContent</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06167.html#l00646">646</a> of file <a class="el" href="a06167.html">path.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a38" doxytag="NLMISC::BF_ALWAYS_OPENED" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05378.html#a38">NLMISC::BF_ALWAYS_OPENED</a> = 0x00000001
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Big file management <dl compact><dt><b>Author:</b></dt><dd>Matthieu Besson <p>
+Nevrax France </dd></dl>
+<dl compact><dt><b>Date:</b></dt><dd>2002 </dd></dl>
+
+<p>
+Definition at line <a class="el" href="a05481.html#l00042">42</a> of file <a class="el" href="a05481.html">big_file.h</a>.
+<p>
+Referenced by <a class="el" href="a05480.html#l00086">NLMISC::CBigFile::add()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a39" doxytag="NLMISC::BF_CACHE_FILE_ON_OPEN" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05378.html#a39">NLMISC::BF_CACHE_FILE_ON_OPEN</a> = 0x00000002
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05481.html#l00043">43</a> of file <a class="el" href="a05481.html">big_file.h</a>.
+<p>
+Referenced by <a class="el" href="a05480.html#l00086">NLMISC::CBigFile::add()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a19" doxytag="NLMISC::CrashCallback" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05378.html#a45">TCrashCallback</a> <a class="el" href="a05378.html#a19">NLMISC::CrashCallback</a> = NULL<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00102">102</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05621.html#l00836">getCallStackAndLog()</a>, and <a class="el" href="a05621.html#l00104">setCrashCallback()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a41" doxytag="NLMISC::DDS" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05378.html#a41">NLMISC::DDS</a> = ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'D' ) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'D' ) &lt;&lt; 8) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'S' ) &lt;&lt; 16) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( ) &lt;&lt; 24 ))
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05487.html#l00059">59</a> of file <a class="el" href="a05487.html">bitmap.h</a>.
+<p>
+Referenced by <a class="el" href="a05486.html#l00054">NLMISC::EDDSBadHeader::EDDSBadHeader()</a>, <a class="el" href="a05486.html#l00109">NLMISC::CBitmap::load()</a>, and <a class="el" href="a05486.html#l02582">NLMISC::CBitmap::loadSize()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a13" doxytag="NLMISC::DebugLog" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02813.html">CLog</a> * <a class="el" href="a05378.html#a13">NLMISC::DebugLog</a> = NULL
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00092">92</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06364.html#l00361">NLNET::cbLogFilter()</a>, <a class="el" href="a05621.html#l00900">createDebug()</a>, <a class="el" href="a05508.html#l00540">NLMISC::CBufFIFO::display()</a>, <a class="el" href="a05621.html#l00154">initDebug2()</a>, <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, and <a class="el" href="a05621.html#l01013">NLMISC_COMMAND()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a7" doxytag="NLMISC::DebugNeedAssert" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a05378.html#a7">NLMISC::DebugNeedAssert</a> = false
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00085">85</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05637.html#l00479">NLMISC::CMsgBoxDisplayer::doDisplay()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a15" doxytag="NLMISC::DefaultMemDisplayer" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02751.html">CMemDisplayer</a> * <a class="el" href="a05378.html#a15">NLMISC::DefaultMemDisplayer</a> = NULL
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00095">95</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05621.html#l00900">createDebug()</a>, <a class="el" href="a05621.html#l00836">getCallStackAndLog()</a>, <a class="el" href="a05621.html#l00154">initDebug2()</a>, and <a class="el" href="a05621.html#l00986">NLMISC_COMMAND()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a16" doxytag="NLMISC::DefaultMsgBoxDisplayer" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02972.html">CMsgBoxDisplayer</a> * <a class="el" href="a05378.html#a16">NLMISC::DefaultMsgBoxDisplayer</a> = NULL
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00096">96</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05621.html#l00900">createDebug()</a>, and <a class="el" href="a05621.html#l00154">initDebug2()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a42" doxytag="NLMISC::DXT_" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05378.html#a42">NLMISC::DXT_</a> = ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'D' ) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'X' ) &lt;&lt; 8) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( 'T' ) &lt;&lt; 16) | ((<a class="el" href="a04558.html#a11">uint32</a>)(<a class="el" href="a04558.html#a7">uint8</a>)( '\0' ) &lt;&lt; 24 ))
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05487.html#l00060">60</a> of file <a class="el" href="a05487.html">bitmap.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a35" doxytag="NLMISC::EmailFunction" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a05378.html#a34">TEmailFunction</a> <a class="el" href="a05378.html#a35">NLMISC::EmailFunction</a> = NULL<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06331.html#l00065">65</a> of file <a class="el" href="a06331.html">report.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06331.html#l00067">setReportEmailFunction()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a10" doxytag="NLMISC::ErrorLog" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02813.html">CLog</a> * <a class="el" href="a05378.html#a10">NLMISC::ErrorLog</a> = NULL
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00089">89</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06364.html#l00361">NLNET::cbLogFilter()</a>, <a class="el" href="a05621.html#l00900">createDebug()</a>, <a class="el" href="a05621.html#l00154">initDebug2()</a>, <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, and <a class="el" href="a05621.html#l01013">NLMISC_COMMAND()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a50" doxytag="NLMISC::EventActivateId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a50">NLMISC::EventActivateId</a>(0x7da66b0a, 0x1ef74519)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05691.html#l00436">NLMISC::CEventActivate::CEventActivate()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a49" doxytag="NLMISC::EventCharId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a49">NLMISC::EventCharId</a>(0x552255fe, 0x75a2373f)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05691.html#l00312">NLMISC::CEventChar::CEventChar()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a52" doxytag="NLMISC::EventDestroyWindowId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a52">NLMISC::EventDestroyWindowId</a>(0x69be73fe, 0x4b07603b)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05691.html#l00475">NLMISC::CEventDestroyWindow::CEventDestroyWindow()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a223" doxytag="NLMISC::EventGDAxisMovedId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a223">NLMISC::EventGDAxisMovedId</a>(0x073306, 0x41173626)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05758.html#l00148">NLMISC::CGDAxisMoved::CGDAxisMoved()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a221" doxytag="NLMISC::EventGDButtonDownId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a221">NLMISC::EventGDButtonDownId</a>(0x57141957, 0x3efb143a)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05758.html#l00118">NLMISC::CGDButtonDown::CGDButtonDown()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a222" doxytag="NLMISC::EventGDButtonUpId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a222">NLMISC::EventGDButtonUpId</a>(0x16105e06, 0x302536b2)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05758.html#l00132">NLMISC::CGDButtonUp::CGDButtonUp()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a220" doxytag="NLMISC::EventGDMouseMove" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a220">NLMISC::EventGDMouseMove</a>(0x12142bc4, 0x43c73e74)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05758.html#l00058">NLMISC::CGDMouseMove::CGDMouseMove()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a225" doxytag="NLMISC::EventGDPOVChanged" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a225">NLMISC::EventGDPOVChanged</a>(0x362851b9, 0x395c4d61)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05758.html#l00196">NLMISC::CGDPOVChanged::CGDPOVChanged()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a224" doxytag="NLMISC::EventGDSliderMovedId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a224">NLMISC::EventGDSliderMovedId</a>(0x68776586, 0x394a6916)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05758.html#l00172">NLMISC::CGDSliderMoved::CGDSliderMoved()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a47" doxytag="NLMISC::EventKeyDownId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a47">NLMISC::EventKeyDownId</a>(0x3c2643da, 0x43f802a1)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05684.html#l00058">NLMISC::CEventListenerAsync::addToServer()</a>, <a class="el" href="a05691.html#l00280">NLMISC::CEventKeyDown::CEventKeyDown()</a>, <a class="el" href="a05684.html#l00089">NLMISC::CEventListenerAsync::operator()()</a>, and <a class="el" href="a05684.html#l00065">NLMISC::CEventListenerAsync::removeFromServer()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a48" doxytag="NLMISC::EventKeyUpId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a48">NLMISC::EventKeyUpId</a>(0x1e62e85, 0x68a35d46)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05684.html#l00058">NLMISC::CEventListenerAsync::addToServer()</a>, <a class="el" href="a05691.html#l00297">NLMISC::CEventKeyUp::CEventKeyUp()</a>, <a class="el" href="a05684.html#l00089">NLMISC::CEventListenerAsync::operator()()</a>, and <a class="el" href="a05684.html#l00065">NLMISC::CEventListenerAsync::removeFromServer()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a56" doxytag="NLMISC::EventMouseDblClkId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a56">NLMISC::EventMouseDblClkId</a>(0x55a94cb3, 0x3e641517)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05691.html#l00394">NLMISC::CEventMouseDblClk::CEventMouseDblClk()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a54" doxytag="NLMISC::EventMouseDownId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a54">NLMISC::EventMouseDownId</a>(0x35b7878, 0x5d4a0f86)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05686.html#l00323">NL3D::CEvent3dMouseListener::addToServer()</a>, <a class="el" href="a05691.html#l00349">NLMISC::CEventMouseDown::CEventMouseDown()</a>, <a class="el" href="a05686.html#l00089">NL3D::CEvent3dMouseListener::operator()()</a>, and <a class="el" href="a05686.html#l00332">NL3D::CEvent3dMouseListener::removeFromServer()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a53" doxytag="NLMISC::EventMouseMoveId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a53">NLMISC::EventMouseMoveId</a>(0x3dd12fdb, 0x472f548b)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05686.html#l00323">NL3D::CEvent3dMouseListener::addToServer()</a>, <a class="el" href="a05691.html#l00379">NLMISC::CEventMouseMove::CEventMouseMove()</a>, <a class="el" href="a05686.html#l00089">NL3D::CEvent3dMouseListener::operator()()</a>, and <a class="el" href="a05686.html#l00332">NL3D::CEvent3dMouseListener::removeFromServer()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a55" doxytag="NLMISC::EventMouseUpId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a55">NLMISC::EventMouseUpId</a>(0xcce1f7e, 0x7ed344d7)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05686.html#l00323">NL3D::CEvent3dMouseListener::addToServer()</a>, <a class="el" href="a05691.html#l00364">NLMISC::CEventMouseUp::CEventMouseUp()</a>, <a class="el" href="a05686.html#l00089">NL3D::CEvent3dMouseListener::operator()()</a>, and <a class="el" href="a05686.html#l00332">NL3D::CEvent3dMouseListener::removeFromServer()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a57" doxytag="NLMISC::EventMouseWheelId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a57">NLMISC::EventMouseWheelId</a>(0x73ac4321, 0x4c273150)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05686.html#l00323">NL3D::CEvent3dMouseListener::addToServer()</a>, <a class="el" href="a05691.html#l00412">NLMISC::CEventMouseWheel::CEventMouseWheel()</a>, <a class="el" href="a05686.html#l00089">NL3D::CEvent3dMouseListener::operator()()</a>, and <a class="el" href="a05686.html#l00332">NL3D::CEvent3dMouseListener::removeFromServer()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a51" doxytag="NLMISC::EventSetFocusId" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a02341.html">CClassId</a> <a class="el" href="a05378.html#a51">NLMISC::EventSetFocusId</a>(0x17650fac, 0x19f85dde)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Referenced by <a class="el" href="a05684.html#l00058">NLMISC::CEventListenerAsync::addToServer()</a>, <a class="el" href="a05691.html#l00460">NLMISC::CEventSetFocus::CEventSetFocus()</a>, <a class="el" href="a05684.html#l00089">NLMISC::CEventListenerAsync::operator()()</a>, and <a class="el" href="a05684.html#l00065">NLMISC::CEventListenerAsync::removeFromServer()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a18" doxytag="NLMISC::fd" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02525.html">CFileDisplayer</a>* <a class="el" href="a05378.html#a18">NLMISC::fd</a> = NULL<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00099">99</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05621.html#l00893">changeLogDirectory()</a>, <a class="el" href="a05621.html#l00900">createDebug()</a>, and <a class="el" href="a05621.html#l00154">initDebug2()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a32" doxytag="NLMISC::FileToCheck" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> vector&lt;<a class="el" href="a02527.html">CFileEntry</a>&gt; <a class="el" href="a05378.html#a32">NLMISC::FileToCheck</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06167.html#l01547">1547</a> of file <a class="el" href="a06167.html">path.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06167.html#l01538">NLMISC::CFileEntry::CFileEntry()</a>, <a class="el" href="a06167.html#l01511">NLMISC::CFile::getFileCreationDate()</a>, and <a class="el" href="a06167.html#l01549">NLMISC::CFile::removeFileChangeCallback()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a9" doxytag="NLMISC::GlobalAssertCall" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a05378.html#a9">NLMISC::GlobalAssertCall</a> = false
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00087">87</a> of file <a class="el" href="a05621.html">debug.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a5" doxytag="NLMISC::HasMMX" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a05378.html#a5">NLMISC::HasMMX</a> = DetectMMX()
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05615.html#l00105">105</a> of file <a class="el" href="a05615.html">cpu_info.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05615.html#l00144">NLMISC::CCpuInfo___::hasMMX()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a6" doxytag="NLMISC::HasSSE" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a05378.html#a6">NLMISC::HasSSE</a> = DetectSSE()
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05615.html#l00106">106</a> of file <a class="el" href="a05615.html">cpu_info.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05615.html#l00145">NLMISC::CCpuInfo___::hasSSE()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a12" doxytag="NLMISC::InfoLog" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02813.html">CLog</a> * <a class="el" href="a05378.html#a12">NLMISC::InfoLog</a> = NULL
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00091">91</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06364.html#l00361">NLNET::cbLogFilter()</a>, <a class="el" href="a05391.html#l00310">NLNET::cleanRequest()</a>, <a class="el" href="a05621.html#l00900">createDebug()</a>, <a class="el" href="a05597.html#l00554">NLMISC::CConfigFile::display()</a>, <a class="el" href="a05621.html#l00154">initDebug2()</a>, <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, <a class="el" href="a05621.html#l01013">NLMISC_COMMAND()</a>, and <a class="el" href="a05976.html#l00399">NLMISC::CMemDisplayer::write()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a3" doxytag="NLMISC::JPGBuffer" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> char <a class="el" href="a05378.html#a3">NLMISC::JPGBuffer</a>[<a class="el" href="a05378.html#a2">JPGBufferSize</a>]
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05486.html#l00090">90</a> of file <a class="el" href="a05486.html">bitmap.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a2" doxytag="NLMISC::JPGBufferSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a11">uint32</a> <a class="el" href="a05378.html#a2">NLMISC::JPGBufferSize</a> = 1000<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05486.html#l00089">89</a> of file <a class="el" href="a05486.html">bitmap.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a1" doxytag="NLMISC::JPGStream" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02270.html">NLMISC::IStream</a>* <a class="el" href="a05378.html#a1">NLMISC::JPGStream</a> = NULL
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05486.html#l00088">88</a> of file <a class="el" href="a05486.html">bitmap.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a20" doxytag="NLMISC::LogTypeToString" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char* <a class="el" href="a05378.html#a20">NLMISC::LogTypeToString</a>[][8]<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+<b>Initial value:</b><div class="fragment"><pre> {
+ { <span class="stringliteral">""</span>, <span class="stringliteral">"ERR"</span>, <span class="stringliteral">"WRN"</span>, <span class="stringliteral">"INF"</span>, <span class="stringliteral">"DBG"</span>, <span class="stringliteral">"STT"</span>, <span class="stringliteral">"AST"</span>, <span class="stringliteral">"UKN"</span> },
+ { <span class="stringliteral">""</span>, <span class="stringliteral">"Error"</span>, <span class="stringliteral">"Warning"</span>, <span class="stringliteral">"Information"</span>, <span class="stringliteral">"Debug"</span>, <span class="stringliteral">"Statistic"</span>, <span class="stringliteral">"Assert"</span>, <span class="stringliteral">"Unknown"</span> },
+ { <span class="stringliteral">""</span>, <span class="stringliteral">"A fatal error occurs. The program must quit"</span>, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, <span class="stringliteral">""</span>, <span class="stringliteral">"A failed assertion occurs"</span>, <span class="stringliteral">""</span> },
+}
+</pre></div>
+<p>
+Definition at line <a class="el" href="a05637.html#l00071">71</a> of file <a class="el" href="a05637.html">displayer.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05637.html#l00479">NLMISC::CMsgBoxDisplayer::doDisplay()</a>, and <a class="el" href="a05637.html#l00077">NLMISC::IDisplayer::logTypeToString()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a43" doxytag="NLMISC::MAX_MIPMAP" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a04558.html#a7">uint8</a> <a class="el" href="a05378.html#a43">NLMISC::MAX_MIPMAP</a> = 16
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05487.html#l00070">70</a> of file <a class="el" href="a05487.html">bitmap.h</a>.
+<p>
+Referenced by <a class="el" href="a05486.html#l00965">NLMISC::CBitmap::decompressDXT1()</a>, <a class="el" href="a05486.html#l01090">NLMISC::CBitmap::decompressDXT3()</a>, <a class="el" href="a05486.html#l01200">NLMISC::CBitmap::decompressDXT5()</a>, <a class="el" href="a05486.html#l01493">NLMISC::CBitmap::releaseMipMaps()</a>, and <a class="el" href="a05486.html#l01565">NLMISC::CBitmap::resizeMipMap()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a235" doxytag="NLMISC::MaxCStringSize" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const int <a class="el" href="a05378.html#a235">NLMISC::MaxCStringSize</a> = 1024*2
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06465.html#l00047">47</a> of file <a class="el" href="a06465.html">string_common.h</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a4" doxytag="NLMISC::NL3D_BlockMemoryAssertOnPurge" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a05378.html#a4">NLMISC::NL3D_BlockMemoryAssertOnPurge</a> = true
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+See CBlockMemory::Purge.
+<p>
+
+<p>
+Definition at line <a class="el" href="a05489.html#l00035">35</a> of file <a class="el" href="a05489.html">block_memory.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05490.html#l00185">NLMISC::CBlockMemory&lt; CNode &gt;::purge()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a29" doxytag="NLMISC::NL3D_OO255" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const float <a class="el" href="a05378.html#a29">NLMISC::NL3D_OO255</a> = 1.0f / 255<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06105.html#l00041">41</a> of file <a class="el" href="a06105.html">noise_value.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06105.html#l00119">NLMISC::CRandomGrid3D::evalBiLinear()</a>, and <a class="el" href="a06105.html#l00101">NLMISC::CRandomGrid3D::evalNearest()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a30" doxytag="NLMISC::NL3D_RandomGrid3D" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03303.html">CRandomGrid3D</a> <a class="el" href="a05378.html#a30">NLMISC::NL3D_RandomGrid3D</a><code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06105.html#l00207">207</a> of file <a class="el" href="a06105.html">noise_value.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a8" doxytag="NLMISC::NoAssert" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> bool <a class="el" href="a05378.html#a8">NLMISC::NoAssert</a> = false
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00086">86</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05621.html#l00110">setAssert()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a23" doxytag="NLMISC::OptFastFloorBkupCW" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int <a class="el" href="a05378.html#a23">NLMISC::OptFastFloorBkupCW</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05700.html#l00034">34</a> of file <a class="el" href="a05700.html">fast_floor.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a25" doxytag="NLMISC::OptFastFloorBkupCW24" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> int <a class="el" href="a05378.html#a25">NLMISC::OptFastFloorBkupCW24</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05700.html#l00036">36</a> of file <a class="el" href="a05700.html">fast_floor.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a22" doxytag="NLMISC::OptFastFloorMagicConst" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> double <a class="el" href="a05378.html#a22">NLMISC::OptFastFloorMagicConst</a> = pow(2,52) + pow(2,51)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05700.html#l00033">33</a> of file <a class="el" href="a05700.html">fast_floor.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a24" doxytag="NLMISC::OptFastFloorMagicConst24" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> float <a class="el" href="a05378.html#a24">NLMISC::OptFastFloorMagicConst24</a> = (float)pow(2,23)
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05700.html#l00035">35</a> of file <a class="el" href="a05700.html">fast_floor.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a44" doxytag="NLMISC::Pi" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const double <a class="el" href="a05378.html#a44">NLMISC::Pi</a> = 3.1415926535897932384626433832795
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+Pi constant in double format.
+<p>
+Definition at line <a class="el" href="a05587.html#l00079">79</a> of file <a class="el" href="a05587.html">common.h</a>.
+<p>
+Referenced by <a class="el" href="a06780.html#l00107">NLLIGO::CZoneTemplate::build()</a>, <a class="el" href="a06766.html#l00212">NLLIGO::CZoneEdge::buildMatrix()</a>, <a class="el" href="a06768.html#l00296">NL3D::CZoneLighter::calcSkyContribution()</a>, <a class="el" href="a05935.html#l00068">NL3D::CLodCharacterManager::CLodCharacterManager()</a>, <a class="el" href="a06483.html#l00040">NL3D::CTargetAnimCtrl::CTargetAnimCtrl()</a>, <a class="el" href="a06698.html#l00058">NL3D::CVegetableManager::CVegetableManager()</a>, <a class="el" href="a06700.html#l00041">NL3D::CVegetableQuadrant::CVegetableQuadrant()</a>, <a class="el" href="a05587.html#l00170">degToRad()</a>, <a class="el" href="a06429.html#l01745">NLSOUND::CSourceDSound::getCone()</a>, <a class="el" href="a06768.html#l01390">NL3D::CZoneLighter::getMaxPhi()</a>, <a class="el" href="a06047.html#l00043">H_AUTO_DECL()</a>, <a class="el" href="a06406.html#l00140">NLSOUND::CSound::importForm()</a>, <a class="el" href="a06768.html#l00251">NL3D::CZoneLighter::init()</a>, <a class="el" href="a06493.html#l00150">NL3D::CTessFacePriorityList::init()</a>, <a class="el" href="a05686.html#l00089">NL3D::CEvent3dMouseListener::operator()()</a>, <a class="el" href="a05587.html#l00178">radToDeg()</a>, <a class="el" href="a06429.html#l01671">NLSOUND::CSourceDSound::setCone()</a>, <a class="el" href="a06390.html#l00290">NLSOUND::CSimpleSource::setDirection()</a>, <a class="el" href="a06179.html#l00159">NL3D::CPointLight::setupSpotAngle()</a>, <a class="el" href="a06698.html#l01664">NL3D::CVegetableManager::setupVertexProgramConstants()</a>, <a class="el" href="a06024.html#l00092">NL3D::CMeshVPWindTree::speedCos()</a>, <a class="el" href="a06308.html#l00366">NLMISC::CQuatT&lt; T &gt;::squadrev()</a>, and <a class="el" href="a06034.html#l00433">NL3D::CMiniCol::testMove()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a227" doxytag="NLMISC::QuatEpsilon" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const double <a class="el" href="a05378.html#a227">NLMISC::QuatEpsilon</a> = 0.000001
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06308.html#l00039">39</a> of file <a class="el" href="a06308.html">quat.h</a>.
+<p>
+Referenced by <a class="el" href="a06308.html#l00445">NLMISC::CQuatT&lt; T &gt;::exp()</a>, <a class="el" href="a06308.html#l00427">NLMISC::CQuatT&lt; T &gt;::log()</a>, and <a class="el" href="a06308.html#l00366">NLMISC::CQuatT&lt; T &gt;::squadrev()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a17" doxytag="NLMISC::sd" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a03443.html">CStdDisplayer</a>* <a class="el" href="a05378.html#a17">NLMISC::sd</a> = NULL<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00098">98</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05621.html#l00900">createDebug()</a>, and <a class="el" href="a05621.html#l00154">initDebug2()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a37" doxytag="NLMISC::SEP_SIZE" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const int <a class="el" href="a05378.html#a37">NLMISC::SEP_SIZE</a> = 1
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05979.html#l00553">553</a> of file <a class="el" href="a05979.html">mem_stream.h</a>.
+<p>
+Referenced by <a class="el" href="a06471.html#l00041">NLMISC::CStringStream::serialSeparatedBufferIn()</a>, <a class="el" href="a05978.html#l00307">NLMISC::CMemStream::serialSeparatedBufferIn()</a>, <a class="el" href="a06471.html#l00071">NLMISC::CStringStream::serialSeparatedBufferOut()</a>, and <a class="el" href="a05978.html#l00338">NLMISC::CMemStream::serialSeparatedBufferOut()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a28" doxytag="NLMISC::SEPARATOR" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char <a class="el" href="a05378.html#a28">NLMISC::SEPARATOR</a> = ' '
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05979.html#l00552">552</a> of file <a class="el" href="a05979.html">mem_stream.h</a>.
+<p>
+Referenced by <a class="el" href="a06471.html#l00271">NLMISC::CStringStream::serial()</a>, <a class="el" href="a05979.html#l00778">NLMISC::CMemStream::serial()</a>, <a class="el" href="a05482.html#l00508">NLMISC::CBitMemStream::serial()</a>, <a class="el" href="a06471.html#l00041">NLMISC::CStringStream::serialSeparatedBufferIn()</a>, <a class="el" href="a05978.html#l00307">NLMISC::CMemStream::serialSeparatedBufferIn()</a>, <a class="el" href="a06471.html#l00071">NLMISC::CStringStream::serialSeparatedBufferOut()</a>, <a class="el" href="a06107.html#l00160">NLMISC::COXml::serialSeparatedBufferOut()</a>, and <a class="el" href="a05978.html#l00338">NLMISC::CMemStream::serialSeparatedBufferOut()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a0" doxytag="NLMISC::SerialTypeToCStr" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const char * <a class="el" href="a05378.html#a0">NLMISC::SerialTypeToCStr</a> = { "Bool ", "Ui32N", "Ui64N", "Float", "Btfld", "Buffr" }
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05482.html#l00045">45</a> of file <a class="el" href="a05482.html">bit_mem_stream.cpp</a>.
+<p>
+Referenced by <a class="el" href="a05483.html#l00765">NLMISC::CBMSDbgInfo::getEventLegendAtBitPos()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a36" doxytag="NLMISC::SharedMemIdsToShmids" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> map&lt;<a class="el" href="a05378.html#a232">TSharedMemId</a>, int&gt; <a class="el" href="a05378.html#a36">NLMISC::SharedMemIdsToShmids</a>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a06382.html#l00048">48</a> of file <a class="el" href="a06382.html">shared_memory.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06382.html#l00055">NLMISC::CSharedMemory::createSharedMemory()</a>, and <a class="el" href="a06382.html#l00177">NLMISC::CSharedMemory::destroySharedMemory()</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a21" doxytag="NLMISC::stringTable" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> const <a class="el" href="a03447.html">CStringConversion</a>&lt;<a class="el" href="a05378.html#a442">TKey</a>&gt;::CPair <a class="el" href="a05378.html#a21">NLMISC::stringTable</a>[]<code> [static]</code>
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05690.html#l00037">37</a> of file <a class="el" href="a05690.html">events.cpp</a>. </td>
+ </tr>
+</table>
+<a class="anchor" name="a11" doxytag="NLMISC::WarningLog" ></a><p>
+<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
+ <tr>
+ <td class="mdRow">
+ <table cellpadding="0" cellspacing="0" border="0">
+ <tr>
+ <td class="md" nowrap valign="top"> <a class="el" href="a02813.html">CLog</a> * <a class="el" href="a05378.html#a11">NLMISC::WarningLog</a> = NULL
+ </table>
+ </td>
+ </tr>
+</table>
+<table cellspacing=5 cellpadding=0 border=0>
+ <tr>
+ <td>
+ &nbsp;
+ </td>
+ <td>
+
+<p>
+
+<p>
+Definition at line <a class="el" href="a05621.html#l00090">90</a> of file <a class="el" href="a05621.html">debug.cpp</a>.
+<p>
+Referenced by <a class="el" href="a06364.html#l00361">NLNET::cbLogFilter()</a>, <a class="el" href="a05621.html#l00900">createDebug()</a>, <a class="el" href="a05621.html#l00154">initDebug2()</a>, <a class="el" href="a06364.html#l00419">NLNET::IService::main()</a>, and <a class="el" href="a05621.html#l01013">NLMISC_COMMAND()</a>. </td>
+ </tr>
+</table>
+<hr size="1"><address style="align: right;"><small>Generated on Tue Mar 16 13:00:38 2004 for NeL by
+<a href="http://www.doxygen.org/index.html">
+<img src="doxygen.png" alt="doxygen" align="middle" border=0 >
+</a>1.3.6 </small></address>
+</body>
+</html>