PTdecode/CImg-1.3.0/html/reference/namespacecimg__library_1_1cimg.html

Wed, 05 Aug 2009 15:02:31 +0100

author
Philip Pemberton <philpem@philpem.me.uk>
date
Wed, 05 Aug 2009 15:02:31 +0100
changeset 13
a933b13e087f
parent 5
1204ebf9340d
permissions
-rwxr-xr-x

PTdecode: add support for uncompressed data (NOTE: *NOT* supported by the PT-2450DX)

     1  xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
     2 <head>
     3 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></meta>
     4 <title>The CImg Library - C++ Template Image Processing Toolkit</title>
     5 <meta content="David Tschumperle" name="author"></meta>
     6 <link rel="shortcut icon" type="image/x-icon" href="http://cimg.sourceforge.net/favicon.ico"></link>
     7 <link rel="icon" type="image/png" href="favicon.png"></link>
     8 <link href="doxygen.css" rel="stylesheet" type="text/css">
     9 <link href="tabs.css" rel="stylesheet" type="text/css">
    10 <style type="text/css">
    11 <!--
    12 body {background-color:white; font-family:sans-serif; }
    13 a:active{text-decoration:none; color:#303090}
    14 a:link{text-decoration:none; color:#303090}
    15 a:visited{text-decoration:none; color:#303090}
    16 a:hover{text-decoration:underline; color:#4E9F71}
    17 -->
    18 </style>
    19 <script language="JavaScript" type="text/javascript">
    20   <!-- Original:  Eric King (eric_andrew_king@hotmail.com) is used to display images in popup windows -->
    21   <!-- Web Site:  http://redrival.com/eak/ -->
    22   <!-- This script and many more are available free online at -->
    23   <!-- The JavaScript Source!! http://javascript.internet.com -->
    24   <!-- Begin
    25   function NewWindow(mypage, myname, w, h, scroll) {
    26   var winl = (screen.width - w) / 2;
    27   var wint = (screen.height - h) / 2;
    28   winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
    29   win = window.open(mypage, myname, winprops)
    30   if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
    31   }
    32   //  End -->
    33 </script>
    34 </head>
    35 <body>
    36  <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%">
    37   <tbody><tr><td>
    38    <hr noshade="noshade" size="1" width="90%"></hr>
    39    <center>
    40    <br/>
    41    <a href="http://cimg.sourceforge.net"><img src="http://cimg.sourceforge.net/img/CImgLogo.jpg" alt="" border="0"></img></a><br/>
    42    <br/>
    43    </center>
    44    <hr noshade="noshade" size="1" width="90%"></hr>
    45    <center>
    46    <table bgcolor="#EEEEFF" style="width: 90%; text-align: left; margin-left: auto; margin-right: auto;" border="0" cellpadding="3" cellspacing="0">
    47    <tbody><tr><td style="text-align: center; vertical-align: top;">
    48    <font color="#FFFFFF" face="Arial,Helvetica" size="-1">
    49    <b>[</b> <a target="_parent" href="http://cimg.sourceforge.net/index.shtml">Main</a> <b>]</b>
    50    <b>[</b> <a target="_parent" href="http://cimg.sourceforge.net/news.shtml">News</a><b>] </b>
    51    <b>[</b> <a target="_parent" href="http://cimg.sourceforge.net/download.shtml">Download</a> <b>]</b>
    52    <b>[</b> <a target="_parent" href="http://cimg.sourceforge.net/screenshots.shtml">Screenshots</a> <b>]</b>
    53    <b>[</b> <a target="_parent" href="http://cimg.sourceforge.net/reference/group__cimg__faq.html">FAQ</a> <b>]</b>
    54    <b>[</b> <a target="_parent" href="http://cimg.sourceforge.net/reference/group__cimg__tutorial.html">Tutorial</a> <b>]</b>
    55    <b>[</b> <a target="_parent" href="http://cimg.sourceforge.net/reference/index.html">Documentation</a> <b>]</b>
    56    <b>[</b> <a target="_parent" href="http://sourceforge.net/forum/forum.php?forum_id=334630">Forum</a> <b>]</b>
    57    <b>[</b> <a target="_parent" href="http://cimg.sourceforge.net/chat.shtml">Chat</a> <b>]</b>
    58    <b>[</b> <a target="_parent" href="http://cimg.sourceforge.net/links.shtml">Links</a> <b>]</b>
    59    </font>
    60    </td></tr></tbody>
    61    </table>
    62    </center>
    63    <hr noshade="noshade" size="1" width="90%"></hr>
    64   </td></tr></tbody>
    65 </table>
    66 <!-- Generated by Doxygen 1.5.7.1 -->
    67 <script type="text/javascript">
    68 <!--
    69 function changeDisplayState (e){
    70   var num=this.id.replace(/[^[0-9]/g,'');
    71   var button=this.firstChild;
    72   var sectionDiv=document.getElementById('dynsection'+num);
    73   if (sectionDiv.style.display=='none'||sectionDiv.style.display==''){
    74     sectionDiv.style.display='block';
    75     button.src='open.gif';
    76   }else{
    77     sectionDiv.style.display='none';
    78     button.src='closed.gif';
    79   }
    80 }
    81 function initDynSections(){
    82   var divs=document.getElementsByTagName('div');
    83   var sectionCounter=1;
    84   for(var i=0;i<divs.length-1;i++){
    85     if(divs[i].className=='dynheader'&&divs[i+1].className=='dynsection'){
    86       var header=divs[i];
    87       var section=divs[i+1];
    88       var button=header.firstChild;
    89       if (button!='IMG'){
    90         divs[i].insertBefore(document.createTextNode(' '),divs[i].firstChild);
    91         button=document.createElement('img');
    92         divs[i].insertBefore(button,divs[i].firstChild);
    93       }
    94       header.style.cursor='pointer';
    95       header.onclick=changeDisplayState;
    96       header.id='dynheader'+sectionCounter;
    97       button.src='closed.gif';
    98       section.id='dynsection'+sectionCounter;
    99       section.style.display='none';
   100       section.style.marginLeft='14px';
   101       sectionCounter++;
   102     }
   103   }
   104 }
   105 window.onload = initDynSections;
   106 -->
   107 </script>
   108 <div class="navigation" id="top">
   109   <div class="tabs">
   110     <ul>
   111       <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
   112       <li><a href="modules.html"><span>Modules</span></a></li>
   113       <li class="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
   114       <li><a href="annotated.html"><span>Classes</span></a></li>
   115     </ul>
   116   </div>
   117   <div class="tabs">
   118     <ul>
   119       <li><a href="namespaces.html"><span>Namespace&nbsp;List</span></a></li>
   120       <li><a href="namespacemembers.html"><span>Namespace&nbsp;Members</span></a></li>
   121     </ul>
   122   </div>
   123   <div class="navpath"><a class="el" href="namespacecimg__library.html">cimg_library</a>::<a class="el" href="namespacecimg__library_1_1cimg.html">cimg</a>
   124   </div>
   125 </div>
   126 <div class="contents">
   127 <h1>cimg_library::cimg Namespace Reference</h1>Namespace that encompasses <em>low-level</em> functions and variables of the CImg Library.  
   128 <a href="#_details">More...</a>
   129 <p>
   130 <table border="0" cellpadding="0" cellspacing="0">
   131 <tr><td></td></tr>
   132 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
   133 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#c1b66fe77173de9e5e8542b2823d6071">info</a> ()</td></tr>
   135 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print informations about CImg environement variables.  <a href="#c1b66fe77173de9e5e8542b2823d6071"></a><br></td></tr>
   136 <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#acf66918a1173b3f72fe6f088d94f26b">exception_mode</a> ()</td></tr>
   138 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get/set the current <a class="el" href="structcimg__library_1_1CImg.html" title="Class representing an image (up to 4 dimensions wide), each pixel being of type T...">CImg</a> exception mode.  <a href="#acf66918a1173b3f72fe6f088d94f26b"></a><br></td></tr>
   139 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#93ec28267b101050d949d1ebff1b88cf">warn</a> (const char *format,...)</td></tr>
   141 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Display a warning message.  <a href="#93ec28267b101050d949d1ebff1b88cf"></a><br></td></tr>
   142 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#09e80f4d7a95f3d5c2282202d8526520">system</a> (const char *const command, const char *const module_name=0)</td></tr>
   144 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f3bb87016460121409a8f1a2ebe418b1"></a><!-- doxytag: member="cimg_library::cimg::temporary" ref="f3bb87016460121409a8f1a2ebe418b1" args="(const T &amp;)" -->
   145 template&lt;typename T &gt; </td></tr>
   146 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#f3bb87016460121409a8f1a2ebe418b1">temporary</a> (const T &amp;)</td></tr>
   148 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a reference to a temporary variable of type T. <br></td></tr>
   149 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="998ee77cc062d63b4faa62eb659e6e9a"></a><!-- doxytag: member="cimg_library::cimg::swap" ref="998ee77cc062d63b4faa62eb659e6e9a" args="(T &amp;a, T &amp;b)" -->
   150 template&lt;typename T &gt; </td></tr>
   151 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#998ee77cc062d63b4faa62eb659e6e9a">swap</a> (T &amp;a, T &amp;b)</td></tr>
   153 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exchange values of variables <code>a</code> and <code>b</code>. <br></td></tr>
   154 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="2b733fa20def6d955d5f3b1a742b2a0e"></a><!-- doxytag: member="cimg_library::cimg::swap" ref="2b733fa20def6d955d5f3b1a742b2a0e" args="(T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2)" -->
   155 template&lt;typename T1 , typename T2 &gt; </td></tr>
   156 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#2b733fa20def6d955d5f3b1a742b2a0e">swap</a> (T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2)</td></tr>
   158 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exchange values of variables (<code>a1</code>,<code>a2</code>) and (<code>b1</code>,<code>b2</code>). <br></td></tr>
   159 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="4954a1551001dc082044597dc9fdcbc3"></a><!-- doxytag: member="cimg_library::cimg::swap" ref="4954a1551001dc082044597dc9fdcbc3" args="(T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3)" -->
   160 template&lt;typename T1 , typename T2 , typename T3 &gt; </td></tr>
   161 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#4954a1551001dc082044597dc9fdcbc3">swap</a> (T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3)</td></tr>
   163 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exchange values of variables (<code>a1</code>,<code>a2</code>,<code>a3</code>) and (<code>b1</code>,<code>b2</code>,<code>b3</code>). <br></td></tr>
   164 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="1e3369e3c4141ff696432f35ec075379"></a><!-- doxytag: member="cimg_library::cimg::swap" ref="1e3369e3c4141ff696432f35ec075379" args="(T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3, T4 &amp;a4, T4 &amp;b4)" -->
   165 template&lt;typename T1 , typename T2 , typename T3 , typename T4 &gt; </td></tr>
   166 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#1e3369e3c4141ff696432f35ec075379">swap</a> (T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3, T4 &amp;a4, T4 &amp;b4)</td></tr>
   168 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exchange values of variables (<code>a1</code>,<code>a2</code>,...,<code>a4</code>) and (<code>b1</code>,<code>b2</code>,...,<code>b4</code>). <br></td></tr>
   169 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="635ae52148ed9edf9aeda5e81bc58884"></a><!-- doxytag: member="cimg_library::cimg::swap" ref="635ae52148ed9edf9aeda5e81bc58884" args="(T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3, T4 &amp;a4, T4 &amp;b4, T5 &amp;a5, T5 &amp;b5)" -->
   170 template&lt;typename T1 , typename T2 , typename T3 , typename T4 , typename T5 &gt; </td></tr>
   171 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#635ae52148ed9edf9aeda5e81bc58884">swap</a> (T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3, T4 &amp;a4, T4 &amp;b4, T5 &amp;a5, T5 &amp;b5)</td></tr>
   173 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exchange values of variables (<code>a1</code>,<code>a2</code>,...,<code>a5</code>) and (<code>b1</code>,<code>b2</code>,...,<code>b5</code>). <br></td></tr>
   174 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="bf3d1cd948fdbc06ba7e9b83a7169d33"></a><!-- doxytag: member="cimg_library::cimg::swap" ref="bf3d1cd948fdbc06ba7e9b83a7169d33" args="(T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3, T4 &amp;a4, T4 &amp;b4, T5 &amp;a5, T5 &amp;b5, T6 &amp;a6, T6 &amp;b6)" -->
   175 template&lt;typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 &gt; </td></tr>
   176 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#bf3d1cd948fdbc06ba7e9b83a7169d33">swap</a> (T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3, T4 &amp;a4, T4 &amp;b4, T5 &amp;a5, T5 &amp;b5, T6 &amp;a6, T6 &amp;b6)</td></tr>
   178 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exchange values of variables (<code>a1</code>,<code>a2</code>,...,<code>a6</code>) and (<code>b1</code>,<code>b2</code>,...,<code>b6</code>). <br></td></tr>
   179 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="40c508097e570855c68bc944249ecf59"></a><!-- doxytag: member="cimg_library::cimg::swap" ref="40c508097e570855c68bc944249ecf59" args="(T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3, T4 &amp;a4, T4 &amp;b4, T5 &amp;a5, T5 &amp;b5, T6 &amp;a6, T6 &amp;b6, T7 &amp;a7, T7 &amp;b7)" -->
   180 template&lt;typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 &gt; </td></tr>
   181 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#40c508097e570855c68bc944249ecf59">swap</a> (T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3, T4 &amp;a4, T4 &amp;b4, T5 &amp;a5, T5 &amp;b5, T6 &amp;a6, T6 &amp;b6, T7 &amp;a7, T7 &amp;b7)</td></tr>
   183 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exchange values of variables (<code>a1</code>,<code>a2</code>,...,<code>a7</code>) and (<code>b1</code>,<code>b2</code>,...,<code>b7</code>). <br></td></tr>
   184 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ad6384858c4ccd23b249c370ccb2ed1d"></a><!-- doxytag: member="cimg_library::cimg::swap" ref="ad6384858c4ccd23b249c370ccb2ed1d" args="(T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3, T4 &amp;a4, T4 &amp;b4, T5 &amp;a5, T5 &amp;b5, T6 &amp;a6, T6 &amp;b6, T7 &amp;a7, T7 &amp;b7, T8 &amp;a8, T8 &amp;b8)" -->
   185 template&lt;typename T1 , typename T2 , typename T3 , typename T4 , typename T5 , typename T6 , typename T7 , typename T8 &gt; </td></tr>
   186 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#ad6384858c4ccd23b249c370ccb2ed1d">swap</a> (T1 &amp;a1, T1 &amp;b1, T2 &amp;a2, T2 &amp;b2, T3 &amp;a3, T3 &amp;b3, T4 &amp;a4, T4 &amp;b4, T5 &amp;a5, T5 &amp;b5, T6 &amp;a6, T6 &amp;b6, T7 &amp;a7, T7 &amp;b7, T8 &amp;a8, T8 &amp;b8)</td></tr>
   188 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Exchange values of variables (<code>a1</code>,<code>a2</code>,...,<code>a8</code>) and (<code>b1</code>,<code>b2</code>,...,<code>b8</code>). <br></td></tr>
   189 <tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#0d2a283a3aa2572e9d343f040c8c4c6b">endianness</a> ()</td></tr>
   191 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the current endianness of the CPU.  <a href="#0d2a283a3aa2572e9d343f040c8c4c6b"></a><br></td></tr>
   192 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="565abb2900eedfc3700ec2a87986bb89"></a><!-- doxytag: member="cimg_library::cimg::invert_endianness" ref="565abb2900eedfc3700ec2a87986bb89" args="(T *const buffer, const unsigned int size)" -->
   193 template&lt;typename T &gt; </td></tr>
   194 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#565abb2900eedfc3700ec2a87986bb89">invert_endianness</a> (T *const buffer, const unsigned int size)</td></tr>
   196 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invert endianness of a memory buffer. <br></td></tr>
   197 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="772f6feda6762af936e12436a26e40a3"></a><!-- doxytag: member="cimg_library::cimg::invert_endianness" ref="772f6feda6762af936e12436a26e40a3" args="(T &amp;a)" -->
   198 template&lt;typename T &gt; </td></tr>
   199 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T &amp;&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#772f6feda6762af936e12436a26e40a3">invert_endianness</a> (T &amp;a)</td></tr>
   201 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Invert endianness of a single variable. <br></td></tr>
   202 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f883131bbc64e996d212114cc2b2b21a"></a><!-- doxytag: member="cimg_library::cimg::time" ref="f883131bbc64e996d212114cc2b2b21a" args="()" -->
   203 unsigned long&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#f883131bbc64e996d212114cc2b2b21a">time</a> ()</td></tr>
   205 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the value of a system timer with a millisecond precision. <br></td></tr>
   206 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#3ac7655e49556a90715f3532af221334">sleep</a> (const unsigned int milliseconds)</td></tr>
   208 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sleep for a certain numbers of milliseconds.  <a href="#3ac7655e49556a90715f3532af221334"></a><br></td></tr>
   209 <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#3c8917c0f12139bff6de6e3e45fc5b77">wait</a> (const unsigned int milliseconds)</td></tr>
   211 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Wait for a certain number of milliseconds since the last call.  <a href="#3c8917c0f12139bff6de6e3e45fc5b77"></a><br></td></tr>
   212 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="964b7bf56de9cba321b402ab86db3ff7"></a><!-- doxytag: member="cimg_library::cimg::rol" ref="964b7bf56de9cba321b402ab86db3ff7" args="(const T a, const unsigned int n=1)" -->
   213 template&lt;typename T &gt; </td></tr>
   214 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#964b7bf56de9cba321b402ab86db3ff7">rol</a> (const T a, const unsigned int n=1)</td></tr>
   216 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a left bitwise-rotated number. <br></td></tr>
   217 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="62fd3ab82b98aa857fcf5f3fbd7c8b99"></a><!-- doxytag: member="cimg_library::cimg::ror" ref="62fd3ab82b98aa857fcf5f3fbd7c8b99" args="(const T a, const unsigned int n=1)" -->
   218 template&lt;typename T &gt; </td></tr>
   219 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">const T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#62fd3ab82b98aa857fcf5f3fbd7c8b99">ror</a> (const T a, const unsigned int n=1)</td></tr>
   221 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a right bitwise-rotated number. <br></td></tr>
   222 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
   223 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#5dd0a4d361e2db646f5042be6bfe1d31">abs</a> (const T a)</td></tr>
   225 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the absolute value of a number.  <a href="#5dd0a4d361e2db646f5042be6bfe1d31"></a><br></td></tr>
   226 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="415ccb3d8d3cf2e7bbdca6fa18ed3465"></a><!-- doxytag: member="cimg_library::cimg::sqr" ref="415ccb3d8d3cf2e7bbdca6fa18ed3465" args="(const T val)" -->
   227 template&lt;typename T &gt; </td></tr>
   228 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#415ccb3d8d3cf2e7bbdca6fa18ed3465">sqr</a> (const T val)</td></tr>
   230 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the square of a number. <br></td></tr>
   231 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8dde183be46c1821a3901b63825a4cf4"></a><!-- doxytag: member="cimg_library::cimg::xln" ref="8dde183be46c1821a3901b63825a4cf4" args="(const int x)" -->
   232 int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#8dde183be46c1821a3901b63825a4cf4">xln</a> (const int x)</td></tr>
   234 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return 1 + log_10(x). <br></td></tr>
   235 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0659abebd7019433a254dd8d934ed32c"></a><!-- doxytag: member="cimg_library::cimg::min" ref="0659abebd7019433a254dd8d934ed32c" args="(const t1 &amp;a, const t2 &amp;b)" -->
   236 template&lt;typename t1 , typename t2 &gt; </td></tr>
   237 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">cimg::superset&lt; t1, t2 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#0659abebd7019433a254dd8d934ed32c">min</a> (const t1 &amp;a, const t2 &amp;b)</td></tr>
   239 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the minimum value between two numbers. <br></td></tr>
   240 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="65e023d29962d5b7239540affa01c934"></a><!-- doxytag: member="cimg_library::cimg::min" ref="65e023d29962d5b7239540affa01c934" args="(const t1 &amp;a, const t2 &amp;b, const t3 &amp;c)" -->
   241 template&lt;typename t1 , typename t2 , typename t3 &gt; </td></tr>
   242 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">cimg::superset2&lt; t1, t2, t3 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#65e023d29962d5b7239540affa01c934">min</a> (const t1 &amp;a, const t2 &amp;b, const t3 &amp;c)</td></tr>
   244 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the minimum value between three numbers. <br></td></tr>
   245 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="11ac2edf216d6e3085207fbef99c8a10"></a><!-- doxytag: member="cimg_library::cimg::min" ref="11ac2edf216d6e3085207fbef99c8a10" args="(const t1 &amp;a, const t2 &amp;b, const t3 &amp;c, const t4 &amp;d)" -->
   246 template&lt;typename t1 , typename t2 , typename t3 , typename t4 &gt; </td></tr>
   247 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">cimg::superset3&lt; t1, t2, t3, <br class="typebreak">
   248 t4 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#11ac2edf216d6e3085207fbef99c8a10">min</a> (const t1 &amp;a, const t2 &amp;b, const t3 &amp;c, const t4 &amp;d)</td></tr>
   250 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the minimum value between four numbers. <br></td></tr>
   251 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ef8f304ef317aed250bbb0dc2b242969"></a><!-- doxytag: member="cimg_library::cimg::max" ref="ef8f304ef317aed250bbb0dc2b242969" args="(const t1 &amp;a, const t2 &amp;b)" -->
   252 template&lt;typename t1 , typename t2 &gt; </td></tr>
   253 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">cimg::superset&lt; t1, t2 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#ef8f304ef317aed250bbb0dc2b242969">max</a> (const t1 &amp;a, const t2 &amp;b)</td></tr>
   255 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the maximum value between two numbers. <br></td></tr>
   256 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3c809a146579b9d7633f5c67d1d0c04a"></a><!-- doxytag: member="cimg_library::cimg::max" ref="3c809a146579b9d7633f5c67d1d0c04a" args="(const t1 &amp;a, const t2 &amp;b, const t3 &amp;c)" -->
   257 template&lt;typename t1 , typename t2 , typename t3 &gt; </td></tr>
   258 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">cimg::superset2&lt; t1, t2, t3 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#3c809a146579b9d7633f5c67d1d0c04a">max</a> (const t1 &amp;a, const t2 &amp;b, const t3 &amp;c)</td></tr>
   260 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the maximum value between three numbers. <br></td></tr>
   261 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c118d1956b491c6e79aa0c34ffd038dd"></a><!-- doxytag: member="cimg_library::cimg::max" ref="c118d1956b491c6e79aa0c34ffd038dd" args="(const t1 &amp;a, const t2 &amp;b, const t3 &amp;c, const t4 &amp;d)" -->
   262 template&lt;typename t1 , typename t2 , typename t3 , typename t4 &gt; </td></tr>
   263 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">cimg::superset3&lt; t1, t2, t3, <br class="typebreak">
   264 t4 &gt;::type&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#c118d1956b491c6e79aa0c34ffd038dd">max</a> (const t1 &amp;a, const t2 &amp;b, const t3 &amp;c, const t4 &amp;d)</td></tr>
   266 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the maximum value between four numbers. <br></td></tr>
   267 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="cb00b9ea45d7c523af71071eaad2fd98"></a><!-- doxytag: member="cimg_library::cimg::sign" ref="cb00b9ea45d7c523af71071eaad2fd98" args="(const T x)" -->
   268 template&lt;typename T &gt; </td></tr>
   269 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#cb00b9ea45d7c523af71071eaad2fd98">sign</a> (const T x)</td></tr>
   271 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the sign of a number. <br></td></tr>
   272 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="2d817bb30160ae25fde49bd14db5a7e6"></a><!-- doxytag: member="cimg_library::cimg::nearest_pow2" ref="2d817bb30160ae25fde49bd14db5a7e6" args="(const T x)" -->
   273 template&lt;typename T &gt; </td></tr>
   274 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">unsigned long&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#2d817bb30160ae25fde49bd14db5a7e6">nearest_pow2</a> (const T x)</td></tr>
   276 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the nearest power of 2 higher than a given number. <br></td></tr>
   277 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
   278 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#85970edf9afb3b48c0715fadf917854e">mod</a> (const T &amp;x, const T &amp;m)</td></tr>
   280 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the modulo of a number.  <a href="#85970edf9afb3b48c0715fadf917854e"></a><br></td></tr>
   281 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename T &gt; </td></tr>
   282 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#e2bab18e9272641210d8b2d7e4a4503f">minmod</a> (const T a, const T b)</td></tr>
   284 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the minmod of two numbers.  <a href="#e2bab18e9272641210d8b2d7e4a4503f"></a><br></td></tr>
   285 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f31db729637ea4dad61e49e5729839c4"></a><!-- doxytag: member="cimg_library::cimg::rand" ref="f31db729637ea4dad61e49e5729839c4" args="()" -->
   286 double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#f31db729637ea4dad61e49e5729839c4">rand</a> ()</td></tr>
   288 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a random variable between [0,1] with respect to an uniform distribution. <br></td></tr>
   289 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ae82972570fdc0904d4f03df7b5d3023"></a><!-- doxytag: member="cimg_library::cimg::crand" ref="ae82972570fdc0904d4f03df7b5d3023" args="()" -->
   290 double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#ae82972570fdc0904d4f03df7b5d3023">crand</a> ()</td></tr>
   292 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a random variable between [-1,1] with respect to an uniform distribution. <br></td></tr>
   293 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0341a323738439349625b2de5f35bb4c"></a><!-- doxytag: member="cimg_library::cimg::grand" ref="0341a323738439349625b2de5f35bb4c" args="()" -->
   294 double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#0341a323738439349625b2de5f35bb4c">grand</a> ()</td></tr>
   296 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a random variable following a gaussian distribution and a standard deviation of 1. <br></td></tr>
   297 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7f927973e2bc17b851bb61cdfbfef061"></a><!-- doxytag: member="cimg_library::cimg::prand" ref="7f927973e2bc17b851bb61cdfbfef061" args="(const double z)" -->
   298 unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#7f927973e2bc17b851bb61cdfbfef061">prand</a> (const double z)</td></tr>
   300 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a random variable following a Poisson distribution of parameter z. <br></td></tr>
   301 <tr><td class="memItemLeft" nowrap align="right" valign="top">double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#0bfd704cc09f4a25f09035b067aca4e3">round</a> (const double x, const double y, const int rounding_type=0)</td></tr>
   303 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a rounded number.  <a href="#0bfd704cc09f4a25f09035b067aca4e3"></a><br></td></tr>
   304 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a028d4d4de4e1894263a29a6de8e2ee"></a><!-- doxytag: member="cimg_library::cimg::uncase" ref="5a028d4d4de4e1894263a29a6de8e2ee" args="(const char x)" -->
   305 char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#5a028d4d4de4e1894263a29a6de8e2ee">uncase</a> (const char x)</td></tr>
   307 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the 'case' of an ASCII character. <br></td></tr>
   308 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#eec70054768b152c0dbea51f5a56536b">uncase</a> (char *const string)</td></tr>
   310 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove the 'case' of a C string.  <a href="#eec70054768b152c0dbea51f5a56536b"></a><br></td></tr>
   311 <tr><td class="memItemLeft" nowrap align="right" valign="top">float&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#9ab0fcc7ef1bac330897fec51f617ae6">atof</a> (const char *const str)</td></tr>
   313 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a float number from a C-string.  <a href="#9ab0fcc7ef1bac330897fec51f617ae6"></a><br></td></tr>
   314 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#3f65ad0f35bbbfc7ec197ce32f326da2">strlen</a> (const char *const s)</td></tr>
   316 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the length of a C-string.  <a href="#3f65ad0f35bbbfc7ec197ce32f326da2"></a><br></td></tr>
   317 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#efc1425e963cd56d8a926908749119a5">strncmp</a> (const char *const s1, const char *const s2, const int l)</td></tr>
   319 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare the first <code>n</code> characters of two C-strings.  <a href="#efc1425e963cd56d8a926908749119a5"></a><br></td></tr>
   320 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#747de40c911c42d60e1a4ee3f0c69c6c">strncasecmp</a> (const char *const s1, const char *const s2, const int l)</td></tr>
   322 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare the first <code>n</code> characters of two C-strings, ignoring the case.  <a href="#747de40c911c42d60e1a4ee3f0c69c6c"></a><br></td></tr>
   323 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#aab723edb9b070b285367e7ffc099d78">strcmp</a> (const char *const s1, const char *const s2)</td></tr>
   325 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two C-strings.  <a href="#aab723edb9b070b285367e7ffc099d78"></a><br></td></tr>
   326 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#43334b3df38ff7c4369a503a4fc3a9f9">strcasecmp</a> (const char *const s1, const char *const s2)</td></tr>
   328 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compare two C-strings, ignoring the case.  <a href="#43334b3df38ff7c4369a503a4fc3a9f9"></a><br></td></tr>
   329 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2f127d56499b955c44ab1e5963d04c8c"></a><!-- doxytag: member="cimg_library::cimg::strfind" ref="2f127d56499b955c44ab1e5963d04c8c" args="(const char *const s, const char c)" -->
   330 int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#2f127d56499b955c44ab1e5963d04c8c">strfind</a> (const char *const s, const char c)</td></tr>
   332 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Find a character in a C-string. <br></td></tr>
   333 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="75c2af1ba1b514bd547f9b23745b125c"></a><!-- doxytag: member="cimg_library::cimg::strpare" ref="75c2af1ba1b514bd547f9b23745b125c" args="(char *const s, const char delimiter=' ', const bool symmetric=false)" -->
   334 bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#75c2af1ba1b514bd547f9b23745b125c">strpare</a> (char *const s, const char delimiter=' ', const bool symmetric=false)</td></tr>
   336 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove useless delimiters on the borders of a C-string. <br></td></tr>
   337 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7199326277681bfe958fc21a508897e2"></a><!-- doxytag: member="cimg_library::cimg::strclean" ref="7199326277681bfe958fc21a508897e2" args="(char *const s)" -->
   338 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#7199326277681bfe958fc21a508897e2">strclean</a> (char *const s)</td></tr>
   340 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove useless spaces and symmetric delimiters ', " and ` from a C-string. <br></td></tr>
   341 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7710ef1683aa12ead974583b764cd353"></a><!-- doxytag: member="cimg_library::cimg::strescape" ref="7710ef1683aa12ead974583b764cd353" args="(char *const s)" -->
   342 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#7710ef1683aa12ead974583b764cd353">strescape</a> (char *const s)</td></tr>
   344 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replace explicit escape sequences '' in C-strings (where x in [ntvbrfa?'"0]). <br></td></tr>
   345 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bc491a5ed3a8d97e395138a379767a45"></a><!-- doxytag: member="cimg_library::cimg::basename" ref="bc491a5ed3a8d97e395138a379767a45" args="(const char *const s)" -->
   346 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#bc491a5ed3a8d97e395138a379767a45">basename</a> (const char *const s)</td></tr>
   348 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Compute the basename of a filename. <br></td></tr>
   349 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="797797a309ca40aa28cdfbb92f4d1621"></a><!-- doxytag: member="cimg_library::cimg::temporary_path" ref="797797a309ca40aa28cdfbb92f4d1621" args="(const char *const user_path=0, const bool reinit_path=false)" -->
   350 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#797797a309ca40aa28cdfbb92f4d1621">temporary_path</a> (const char *const user_path=0, const bool reinit_path=false)</td></tr>
   352 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return or set path to store temporary files. <br></td></tr>
   353 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="d0db1003e37cc111d9eddd282c1ab27b"></a><!-- doxytag: member="cimg_library::cimg::imagemagick_path" ref="d0db1003e37cc111d9eddd282c1ab27b" args="(const char *const user_path=0, const bool reinit_path=false)" -->
   354 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#d0db1003e37cc111d9eddd282c1ab27b">imagemagick_path</a> (const char *const user_path=0, const bool reinit_path=false)</td></tr>
   356 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return or set path to the ImageMagick's <code>convert</code> tool. <br></td></tr>
   357 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a9f7e166f51b43facc8ecc9f05e4ceba"></a><!-- doxytag: member="cimg_library::cimg::graphicsmagick_path" ref="a9f7e166f51b43facc8ecc9f05e4ceba" args="(const char *const user_path=0, const bool reinit_path=false)" -->
   358 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#a9f7e166f51b43facc8ecc9f05e4ceba">graphicsmagick_path</a> (const char *const user_path=0, const bool reinit_path=false)</td></tr>
   360 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return path of the GraphicsMagick's <code>gm</code> tool. <br></td></tr>
   361 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aedba1291890f50edb5be58ef662e516"></a><!-- doxytag: member="cimg_library::cimg::medcon_path" ref="aedba1291890f50edb5be58ef662e516" args="(const char *const user_path=0, const bool reinit_path=false)" -->
   362 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#aedba1291890f50edb5be58ef662e516">medcon_path</a> (const char *const user_path=0, const bool reinit_path=false)</td></tr>
   364 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return or set path of the <code>XMedcon</code> tool. <br></td></tr>
   365 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf1666b982cb372129f2ae2fdc748ef2"></a><!-- doxytag: member="cimg_library::cimg::ffmpeg_path" ref="bf1666b982cb372129f2ae2fdc748ef2" args="(const char *const user_path=0, const bool reinit_path=false)" -->
   366 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#bf1666b982cb372129f2ae2fdc748ef2">ffmpeg_path</a> (const char *const user_path=0, const bool reinit_path=false)</td></tr>
   368 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return or set path to the 'ffmpeg' command. <br></td></tr>
   369 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="75f3391e7a393c1c1fe43537004537e2"></a><!-- doxytag: member="cimg_library::cimg::gzip_path" ref="75f3391e7a393c1c1fe43537004537e2" args="(const char *const user_path=0, const bool reinit_path=false)" -->
   370 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#75f3391e7a393c1c1fe43537004537e2">gzip_path</a> (const char *const user_path=0, const bool reinit_path=false)</td></tr>
   372 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return or set path to the 'gzip' command. <br></td></tr>
   373 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="08f71c29acfe85d5b8718900e995b779"></a><!-- doxytag: member="cimg_library::cimg::gunzip_path" ref="08f71c29acfe85d5b8718900e995b779" args="(const char *const user_path=0, const bool reinit_path=false)" -->
   374 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#08f71c29acfe85d5b8718900e995b779">gunzip_path</a> (const char *const user_path=0, const bool reinit_path=false)</td></tr>
   376 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return or set path to the 'gunzip' command. <br></td></tr>
   377 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e36d7a689692ac5663afe1bbdab5d9fa"></a><!-- doxytag: member="cimg_library::cimg::dcraw_path" ref="e36d7a689692ac5663afe1bbdab5d9fa" args="(const char *const user_path=0, const bool reinit_path=false)" -->
   378 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#e36d7a689692ac5663afe1bbdab5d9fa">dcraw_path</a> (const char *const user_path=0, const bool reinit_path=false)</td></tr>
   380 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return or set path to the 'dcraw' command. <br></td></tr>
   381 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9f7068ec0354e0b34a69a9dc829598aa"></a><!-- doxytag: member="cimg_library::cimg::split_filename" ref="9f7068ec0354e0b34a69a9dc829598aa" args="(const char *const filename, char *const body=0)" -->
   382 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#9f7068ec0354e0b34a69a9dc829598aa">split_filename</a> (const char *const filename, char *const body=0)</td></tr>
   384 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Split a filename into two strings 'body' and 'extension'. <br></td></tr>
   385 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="878d8296e87c4ddae1676158e40cbd3a"></a><!-- doxytag: member="cimg_library::cimg::number_filename" ref="878d8296e87c4ddae1676158e40cbd3a" args="(const char *const filename, const int number, const unsigned int n, char *const string)" -->
   386 char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#878d8296e87c4ddae1676158e40cbd3a">number_filename</a> (const char *const filename, const int number, const unsigned int n, char *const string)</td></tr>
   388 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a numbered version of a filename. <br></td></tr>
   389 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dff1045b64c40864232f07ec686fa731"></a><!-- doxytag: member="cimg_library::cimg::fopen" ref="dff1045b64c40864232f07ec686fa731" args="(const char *const path, const char *const mode)" -->
   390 cimg_std::FILE *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#dff1045b64c40864232f07ec686fa731">fopen</a> (const char *const path, const char *const mode)</td></tr>
   392 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Open a file, and check for possible errors. <br></td></tr>
   393 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e381e63cfec4d6d2426a2763c05a094f"></a><!-- doxytag: member="cimg_library::cimg::fclose" ref="e381e63cfec4d6d2426a2763c05a094f" args="(cimg_std::FILE *file)" -->
   394 int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#e381e63cfec4d6d2426a2763c05a094f">fclose</a> (cimg_std::FILE *file)</td></tr>
   396 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close a file, and check for possible errors. <br></td></tr>
   397 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="69b9fcf4cc4ef26506e3a35d8db2cb74"></a><!-- doxytag: member="cimg_library::cimg::file_type" ref="69b9fcf4cc4ef26506e3a35d8db2cb74" args="(cimg_std::FILE *const file, const char *const filename)" -->
   398 const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#69b9fcf4cc4ef26506e3a35d8db2cb74">file_type</a> (cimg_std::FILE *const file, const char *const filename)</td></tr>
   400 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Try to guess the image format of a filename, using its magick numbers. <br></td></tr>
   401 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ae720b10098f87a24c8756e63c48b49a"></a><!-- doxytag: member="cimg_library::cimg::fread" ref="ae720b10098f87a24c8756e63c48b49a" args="(T *const ptr, const unsigned int nmemb, cimg_std::FILE *stream)" -->
   402 template&lt;typename T &gt; </td></tr>
   403 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#ae720b10098f87a24c8756e63c48b49a">fread</a> (T *const ptr, const unsigned int nmemb, cimg_std::FILE *stream)</td></tr>
   405 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read file data, and check for possible errors. <br></td></tr>
   406 <tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="b57bdbf463552372e18a7dda032c3054"></a><!-- doxytag: member="cimg_library::cimg::fwrite" ref="b57bdbf463552372e18a7dda032c3054" args="(const T *ptr, const unsigned int nmemb, cimg_std::FILE *stream)" -->
   407 template&lt;typename T &gt; </td></tr>
   408 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#b57bdbf463552372e18a7dda032c3054">fwrite</a> (const T *ptr, const unsigned int nmemb, cimg_std::FILE *stream)</td></tr>
   410 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write data to a file, and check for possible errors. <br></td></tr>
   411 <tr><td class="memTemplParams" nowrap colspan="2">template&lt;typename t &gt; </td></tr>
   412 <tr><td class="memTemplItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#9bd2a1e3ffff4538c4f53856e8b28ded">dialog</a> (const char *title, const char *msg, const char *button1_txt, const char *button2_txt, const char *button3_txt, const char *button4_txt, const char *button5_txt, const char *button6_txt, const <a class="el" href="structcimg__library_1_1CImg.html">CImg</a>&lt; t &gt; &amp;logo, const bool centering=false)</td></tr>
   414 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Display a dialog box, where a user can click standard buttons.  <a href="#9bd2a1e3ffff4538c4f53856e8b28ded"></a><br></td></tr>
   415 <tr><td colspan="2"><br><h2>Variables</h2></td></tr>
   416 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0227707be3c6c40e2f71806077fbfcdb"></a><!-- doxytag: member="cimg_library::cimg::valuePI" ref="0227707be3c6c40e2f71806077fbfcdb" args="" -->
   417 const double&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacecimg__library_1_1cimg.html#0227707be3c6c40e2f71806077fbfcdb">valuePI</a> = 3.14159265358979323846</td></tr>
   419 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Definition of the mathematical constant PI. <br></td></tr>
   420 </table>
   421 <hr><a name="_details"></a><h2>Detailed Description</h2>
   422 Namespace that encompasses <em>low-level</em> functions and variables of the CImg Library. 
   423 <p>
   424 Most of the functions and variables within this namespace are used by the library for low-level processing. Nevertheless, documented variables and functions of this namespace may be used safely in your own source code.<p>
   425 <dl class="warning" compact><dt><b>Warning:</b></dt><dd>Never write <code>using namespace <a class="el" href="namespacecimg__library_1_1cimg.html" title="Namespace that encompasses low-level functions and variables of the CImg Library...">cimg_library::cimg</a>;</code> in your source code, since a lot of functions of the <code><a class="el" href="namespacecimg__library_1_1cimg.html" title="Namespace that encompasses low-level functions and variables of the CImg Library...">cimg</a>::</code> namespace have prototypes similar to standard C functions that could defined in the global namespace <code>::</code>. </dd></dl>
   427 <p>
   428 <hr><h2>Function Documentation</h2>
   429 <a class="anchor" name="c1b66fe77173de9e5e8542b2823d6071"></a><!-- doxytag: member="cimg_library::cimg::info" ref="c1b66fe77173de9e5e8542b2823d6071" args="()" -->
   430 <div class="memitem">
   431 <div class="memproto">
   432       <table class="memname">
   433         <tr>
   434           <td class="memname">void info           </td>
   435           <td>(</td>
   436           <td class="paramname">          </td>
   437           <td>&nbsp;)&nbsp;</td>
   438           <td><code> [inline]</code></td>
   439         </tr>
   440       </table>
   441 </div>
   442 <div class="memdoc">
   444 <p>
   445 Print informations about CImg environement variables. 
   446 <p>
   447 Printing is done on the standard error output. 
   448 </div>
   449 </div><p>
   450 <a class="anchor" name="acf66918a1173b3f72fe6f088d94f26b"></a><!-- doxytag: member="cimg_library::cimg::exception_mode" ref="acf66918a1173b3f72fe6f088d94f26b" args="()" -->
   451 <div class="memitem">
   452 <div class="memproto">
   453       <table class="memname">
   454         <tr>
   455           <td class="memname">unsigned int&amp; cimg_library::cimg::exception_mode           </td>
   456           <td>(</td>
   457           <td class="paramname">          </td>
   458           <td>&nbsp;)&nbsp;</td>
   459           <td><code> [inline]</code></td>
   460         </tr>
   461       </table>
   462 </div>
   463 <div class="memdoc">
   465 <p>
   466 Get/set the current <a class="el" href="structcimg__library_1_1CImg.html" title="Class representing an image (up to 4 dimensions wide), each pixel being of type T...">CImg</a> exception mode. 
   467 <p>
   468 The way error messages are handled by <a class="el" href="structcimg__library_1_1CImg.html" title="Class representing an image (up to 4 dimensions wide), each pixel being of type T...">CImg</a> can be changed dynamically, using this function. Possible values are :<ul>
   469 <li>0 to hide debug messages (quiet mode, but exceptions are still thrown).</li><li>1 to display debug messages on standard error (console).</li><li>2 to display debug messages in modal windows (default behavior).</li><li>3 to do as 1 + add extra warnings (may slow down the code !).</li><li>4 to do as 2 + add extra warnings (may slow down the code !). </li></ul>
   471 </div>
   472 </div><p>
   473 <a class="anchor" name="93ec28267b101050d949d1ebff1b88cf"></a><!-- doxytag: member="cimg_library::cimg::warn" ref="93ec28267b101050d949d1ebff1b88cf" args="(const char *format,...)" -->
   474 <div class="memitem">
   475 <div class="memproto">
   476       <table class="memname">
   477         <tr>
   478           <td class="memname">void cimg_library::cimg::warn           </td>
   479           <td>(</td>
   480           <td class="paramtype">const char *&nbsp;</td>
   481           <td class="paramname"> <em>format</em>, </td>
   482         </tr>
   483         <tr>
   484           <td class="paramkey"></td>
   485           <td></td>
   486           <td class="paramtype">&nbsp;</td>
   487           <td class="paramname"> <em>...</em></td><td>&nbsp;</td>
   488         </tr>
   489         <tr>
   490           <td></td>
   491           <td>)</td>
   492           <td></td><td></td><td><code> [inline]</code></td>
   493         </tr>
   494       </table>
   495 </div>
   496 <div class="memdoc">
   498 <p>
   499 Display a warning message. 
   500 <p>
   501 <dl compact><dt><b>Parameters:</b></dt><dd>
   502   <table border="0" cellspacing="2" cellpadding="0">
   503     <tr><td valign="top"></td><td valign="top"><em>format</em>&nbsp;</td><td>is a C-string describing the format of the message, as in <code>std::printf()</code>. </td></tr>
   504   </table>
   505 </dl>
   507 </div>
   508 </div><p>
   509 <a class="anchor" name="09e80f4d7a95f3d5c2282202d8526520"></a><!-- doxytag: member="cimg_library::cimg::system" ref="09e80f4d7a95f3d5c2282202d8526520" args="(const char *const command, const char *const module_name=0)" -->
   510 <div class="memitem">
   511 <div class="memproto">
   512       <table class="memname">
   513         <tr>
   514           <td class="memname">int cimg_library::cimg::system           </td>
   515           <td>(</td>
   516           <td class="paramtype">const char *const &nbsp;</td>
   517           <td class="paramname"> <em>command</em>, </td>
   518         </tr>
   519         <tr>
   520           <td class="paramkey"></td>
   521           <td></td>
   522           <td class="paramtype">const char *const &nbsp;</td>
   523           <td class="paramname"> <em>module_name</em> = <code>0</code></td><td>&nbsp;</td>
   524         </tr>
   525         <tr>
   526           <td></td>
   527           <td>)</td>
   528           <td></td><td></td><td><code> [inline]</code></td>
   529         </tr>
   530       </table>
   531 </div>
   532 <div class="memdoc">
   534 <p>
   535 <dl class="note" compact><dt><b>Note:</b></dt><dd>This function is similar to <code>std::system()</code> and is here because using the <code>std::</code> version on Windows may open undesired consoles. </dd></dl>
   537 </div>
   538 </div><p>
   539 <a class="anchor" name="0d2a283a3aa2572e9d343f040c8c4c6b"></a><!-- doxytag: member="cimg_library::cimg::endianness" ref="0d2a283a3aa2572e9d343f040c8c4c6b" args="()" -->
   540 <div class="memitem">
   541 <div class="memproto">
   542       <table class="memname">
   543         <tr>
   544           <td class="memname">bool cimg_library::cimg::endianness           </td>
   545           <td>(</td>
   546           <td class="paramname">          </td>
   547           <td>&nbsp;)&nbsp;</td>
   548           <td><code> [inline]</code></td>
   549         </tr>
   550       </table>
   551 </div>
   552 <div class="memdoc">
   554 <p>
   555 Return the current endianness of the CPU. 
   556 <p>
   557 <dl class="return" compact><dt><b>Returns:</b></dt><dd><code>false</code> for "Little Endian", <code>true</code> for "Big Endian". </dd></dl>
   559 </div>
   560 </div><p>
   561 <a class="anchor" name="3ac7655e49556a90715f3532af221334"></a><!-- doxytag: member="cimg_library::cimg::sleep" ref="3ac7655e49556a90715f3532af221334" args="(const unsigned int milliseconds)" -->
   562 <div class="memitem">
   563 <div class="memproto">
   564       <table class="memname">
   565         <tr>
   566           <td class="memname">void cimg_library::cimg::sleep           </td>
   567           <td>(</td>
   568           <td class="paramtype">const unsigned int&nbsp;</td>
   569           <td class="paramname"> <em>milliseconds</em>          </td>
   570           <td>&nbsp;)&nbsp;</td>
   571           <td><code> [inline]</code></td>
   572         </tr>
   573       </table>
   574 </div>
   575 <div class="memdoc">
   577 <p>
   578 Sleep for a certain numbers of milliseconds. 
   579 <p>
   580 This function frees the CPU ressources during the sleeping time. It may be used to temporize your program properly, without wasting CPU time. 
   581 </div>
   582 </div><p>
   583 <a class="anchor" name="3c8917c0f12139bff6de6e3e45fc5b77"></a><!-- doxytag: member="cimg_library::cimg::wait" ref="3c8917c0f12139bff6de6e3e45fc5b77" args="(const unsigned int milliseconds)" -->
   584 <div class="memitem">
   585 <div class="memproto">
   586       <table class="memname">
   587         <tr>
   588           <td class="memname">unsigned int cimg_library::cimg::wait           </td>
   589           <td>(</td>
   590           <td class="paramtype">const unsigned int&nbsp;</td>
   591           <td class="paramname"> <em>milliseconds</em>          </td>
   592           <td>&nbsp;)&nbsp;</td>
   593           <td><code> [inline]</code></td>
   594         </tr>
   595       </table>
   596 </div>
   597 <div class="memdoc">
   599 <p>
   600 Wait for a certain number of milliseconds since the last call. 
   601 <p>
   602 This function is equivalent to <a class="el" href="namespacecimg__library_1_1cimg.html#3ac7655e49556a90715f3532af221334" title="Sleep for a certain numbers of milliseconds.">sleep()</a> but the waiting time is computed with regard to the last call of <a class="el" href="namespacecimg__library_1_1cimg.html#3c8917c0f12139bff6de6e3e45fc5b77" title="Wait for a certain number of milliseconds since the last call.">wait()</a>. It may be used to temporize your program properly. 
   603 </div>
   604 </div><p>
   605 <a class="anchor" name="5dd0a4d361e2db646f5042be6bfe1d31"></a><!-- doxytag: member="cimg_library::cimg::abs" ref="5dd0a4d361e2db646f5042be6bfe1d31" args="(const T a)" -->
   606 <div class="memitem">
   607 <div class="memproto">
   608       <table class="memname">
   609         <tr>
   610           <td class="memname">T cimg_library::cimg::abs           </td>
   611           <td>(</td>
   612           <td class="paramtype">const T&nbsp;</td>
   613           <td class="paramname"> <em>a</em>          </td>
   614           <td>&nbsp;)&nbsp;</td>
   615           <td><code> [inline]</code></td>
   616         </tr>
   617       </table>
   618 </div>
   619 <div class="memdoc">
   621 <p>
   622 Return the absolute value of a number. 
   623 <p>
   624 <dl class="note" compact><dt><b>Note:</b></dt><dd>This function is different from <code>std::abs()</code> or <code>std::fabs()</code> because it is able to consider a variable of any type, without cast needed. </dd></dl>
   626 </div>
   627 </div><p>
   628 <a class="anchor" name="85970edf9afb3b48c0715fadf917854e"></a><!-- doxytag: member="cimg_library::cimg::mod" ref="85970edf9afb3b48c0715fadf917854e" args="(const T &amp;x, const T &amp;m)" -->
   629 <div class="memitem">
   630 <div class="memproto">
   631       <table class="memname">
   632         <tr>
   633           <td class="memname">T cimg_library::cimg::mod           </td>
   634           <td>(</td>
   635           <td class="paramtype">const T &amp;&nbsp;</td>
   636           <td class="paramname"> <em>x</em>, </td>
   637         </tr>
   638         <tr>
   639           <td class="paramkey"></td>
   640           <td></td>
   641           <td class="paramtype">const T &amp;&nbsp;</td>
   642           <td class="paramname"> <em>m</em></td><td>&nbsp;</td>
   643         </tr>
   644         <tr>
   645           <td></td>
   646           <td>)</td>
   647           <td></td><td></td><td><code> [inline]</code></td>
   648         </tr>
   649       </table>
   650 </div>
   651 <div class="memdoc">
   653 <p>
   654 Return the modulo of a number. 
   655 <p>
   656 <dl class="note" compact><dt><b>Note:</b></dt><dd>This modulo function accepts negative and floating-points modulo numbers, as well as variable of any type. </dd></dl>
   658 </div>
   659 </div><p>
   660 <a class="anchor" name="e2bab18e9272641210d8b2d7e4a4503f"></a><!-- doxytag: member="cimg_library::cimg::minmod" ref="e2bab18e9272641210d8b2d7e4a4503f" args="(const T a, const T b)" -->
   661 <div class="memitem">
   662 <div class="memproto">
   663       <table class="memname">
   664         <tr>
   665           <td class="memname">T cimg_library::cimg::minmod           </td>
   666           <td>(</td>
   667           <td class="paramtype">const T&nbsp;</td>
   668           <td class="paramname"> <em>a</em>, </td>
   669         </tr>
   670         <tr>
   671           <td class="paramkey"></td>
   672           <td></td>
   673           <td class="paramtype">const T&nbsp;</td>
   674           <td class="paramname"> <em>b</em></td><td>&nbsp;</td>
   675         </tr>
   676         <tr>
   677           <td></td>
   678           <td>)</td>
   679           <td></td><td></td><td><code> [inline]</code></td>
   680         </tr>
   681       </table>
   682 </div>
   683 <div class="memdoc">
   685 <p>
   686 Return the minmod of two numbers. 
   687 <p>
   688 <em>minmod(<code>a</code>,<code>b</code>)</em> is defined to be :<ul>
   689 <li><em>minmod(<code>a</code>,<code>b</code>) = min(<code>a</code>,<code>b</code>)</em>, if <code>a</code> and <code>b</code> have the same sign.</li><li><em>minmod(<code>a</code>,<code>b</code>) = 0</em>, if <code>a</code> and <code>b</code> have different signs. </li></ul>
   691 </div>
   692 </div><p>
   693 <a class="anchor" name="0bfd704cc09f4a25f09035b067aca4e3"></a><!-- doxytag: member="cimg_library::cimg::round" ref="0bfd704cc09f4a25f09035b067aca4e3" args="(const double x, const double y, const int rounding_type=0)" -->
   694 <div class="memitem">
   695 <div class="memproto">
   696       <table class="memname">
   697         <tr>
   698           <td class="memname">double cimg_library::cimg::round           </td>
   699           <td>(</td>
   700           <td class="paramtype">const double&nbsp;</td>
   701           <td class="paramname"> <em>x</em>, </td>
   702         </tr>
   703         <tr>
   704           <td class="paramkey"></td>
   705           <td></td>
   706           <td class="paramtype">const double&nbsp;</td>
   707           <td class="paramname"> <em>y</em>, </td>
   708         </tr>
   709         <tr>
   710           <td class="paramkey"></td>
   711           <td></td>
   712           <td class="paramtype">const int&nbsp;</td>
   713           <td class="paramname"> <em>rounding_type</em> = <code>0</code></td><td>&nbsp;</td>
   714         </tr>
   715         <tr>
   716           <td></td>
   717           <td>)</td>
   718           <td></td><td></td><td><code> [inline]</code></td>
   719         </tr>
   720       </table>
   721 </div>
   722 <div class="memdoc">
   724 <p>
   725 Return a rounded number. 
   726 <p>
   727 <dl compact><dt><b>Parameters:</b></dt><dd>
   728   <table border="0" cellspacing="2" cellpadding="0">
   729     <tr><td valign="top"></td><td valign="top"><em>x</em>&nbsp;</td><td>is the number to be rounded. </td></tr>
   730     <tr><td valign="top"></td><td valign="top"><em>y</em>&nbsp;</td><td>is the rounding precision. </td></tr>
   731     <tr><td valign="top"></td><td valign="top"><em>rounding_type</em>&nbsp;</td><td>defines the type of rounding (0=nearest, -1=backward, 1=forward). </td></tr>
   732   </table>
   733 </dl>
   735 </div>
   736 </div><p>
   737 <a class="anchor" name="eec70054768b152c0dbea51f5a56536b"></a><!-- doxytag: member="cimg_library::cimg::uncase" ref="eec70054768b152c0dbea51f5a56536b" args="(char *const string)" -->
   738 <div class="memitem">
   739 <div class="memproto">
   740       <table class="memname">
   741         <tr>
   742           <td class="memname">void cimg_library::cimg::uncase           </td>
   743           <td>(</td>
   744           <td class="paramtype">char *const &nbsp;</td>
   745           <td class="paramname"> <em>string</em>          </td>
   746           <td>&nbsp;)&nbsp;</td>
   747           <td><code> [inline]</code></td>
   748         </tr>
   749       </table>
   750 </div>
   751 <div class="memdoc">
   753 <p>
   754 Remove the 'case' of a C string. 
   755 <p>
   756 Acts in-place. 
   757 </div>
   758 </div><p>
   759 <a class="anchor" name="9ab0fcc7ef1bac330897fec51f617ae6"></a><!-- doxytag: member="cimg_library::cimg::atof" ref="9ab0fcc7ef1bac330897fec51f617ae6" args="(const char *const str)" -->
   760 <div class="memitem">
   761 <div class="memproto">
   762       <table class="memname">
   763         <tr>
   764           <td class="memname">float cimg_library::cimg::atof           </td>
   765           <td>(</td>
   766           <td class="paramtype">const char *const &nbsp;</td>
   767           <td class="paramname"> <em>str</em>          </td>
   768           <td>&nbsp;)&nbsp;</td>
   769           <td><code> [inline]</code></td>
   770         </tr>
   771       </table>
   772 </div>
   773 <div class="memdoc">
   775 <p>
   776 Read a float number from a C-string. 
   777 <p>
   778 <dl class="note" compact><dt><b>Note:</b></dt><dd>This function is quite similar to <code>std::atof()</code>, but that it allows the retrieval of fractions as in "1/2". </dd></dl>
   780 </div>
   781 </div><p>
   782 <a class="anchor" name="3f65ad0f35bbbfc7ec197ce32f326da2"></a><!-- doxytag: member="cimg_library::cimg::strlen" ref="3f65ad0f35bbbfc7ec197ce32f326da2" args="(const char *const s)" -->
   783 <div class="memitem">
   784 <div class="memproto">
   785       <table class="memname">
   786         <tr>
   787           <td class="memname">int cimg_library::cimg::strlen           </td>
   788           <td>(</td>
   789           <td class="paramtype">const char *const &nbsp;</td>
   790           <td class="paramname"> <em>s</em>          </td>
   791           <td>&nbsp;)&nbsp;</td>
   792           <td><code> [inline]</code></td>
   793         </tr>
   794       </table>
   795 </div>
   796 <div class="memdoc">
   798 <p>
   799 Compute the length of a C-string. 
   800 <p>
   801 <dl class="note" compact><dt><b>Note:</b></dt><dd>This function is similar to <code>std::strlen()</code> and is here because some old compilers do not define the <code>std::</code> version. </dd></dl>
   803 </div>
   804 </div><p>
   805 <a class="anchor" name="efc1425e963cd56d8a926908749119a5"></a><!-- doxytag: member="cimg_library::cimg::strncmp" ref="efc1425e963cd56d8a926908749119a5" args="(const char *const s1, const char *const s2, const int l)" -->
   806 <div class="memitem">
   807 <div class="memproto">
   808       <table class="memname">
   809         <tr>
   810           <td class="memname">int cimg_library::cimg::strncmp           </td>
   811           <td>(</td>
   812           <td class="paramtype">const char *const &nbsp;</td>
   813           <td class="paramname"> <em>s1</em>, </td>
   814         </tr>
   815         <tr>
   816           <td class="paramkey"></td>
   817           <td></td>
   818           <td class="paramtype">const char *const &nbsp;</td>
   819           <td class="paramname"> <em>s2</em>, </td>
   820         </tr>
   821         <tr>
   822           <td class="paramkey"></td>
   823           <td></td>
   824           <td class="paramtype">const int&nbsp;</td>
   825           <td class="paramname"> <em>l</em></td><td>&nbsp;</td>
   826         </tr>
   827         <tr>
   828           <td></td>
   829           <td>)</td>
   830           <td></td><td></td><td><code> [inline]</code></td>
   831         </tr>
   832       </table>
   833 </div>
   834 <div class="memdoc">
   836 <p>
   837 Compare the first <code>n</code> characters of two C-strings. 
   838 <p>
   839 <dl class="note" compact><dt><b>Note:</b></dt><dd>This function is similar to <code>std::strncmp()</code> and is here because some old compilers do not define the <code>std::</code> version. </dd></dl>
   841 </div>
   842 </div><p>
   843 <a class="anchor" name="747de40c911c42d60e1a4ee3f0c69c6c"></a><!-- doxytag: member="cimg_library::cimg::strncasecmp" ref="747de40c911c42d60e1a4ee3f0c69c6c" args="(const char *const s1, const char *const s2, const int l)" -->
   844 <div class="memitem">
   845 <div class="memproto">
   846       <table class="memname">
   847         <tr>
   848           <td class="memname">int cimg_library::cimg::strncasecmp           </td>
   849           <td>(</td>
   850           <td class="paramtype">const char *const &nbsp;</td>
   851           <td class="paramname"> <em>s1</em>, </td>
   852         </tr>
   853         <tr>
   854           <td class="paramkey"></td>
   855           <td></td>
   856           <td class="paramtype">const char *const &nbsp;</td>
   857           <td class="paramname"> <em>s2</em>, </td>
   858         </tr>
   859         <tr>
   860           <td class="paramkey"></td>
   861           <td></td>
   862           <td class="paramtype">const int&nbsp;</td>
   863           <td class="paramname"> <em>l</em></td><td>&nbsp;</td>
   864         </tr>
   865         <tr>
   866           <td></td>
   867           <td>)</td>
   868           <td></td><td></td><td><code> [inline]</code></td>
   869         </tr>
   870       </table>
   871 </div>
   872 <div class="memdoc">
   874 <p>
   875 Compare the first <code>n</code> characters of two C-strings, ignoring the case. 
   876 <p>
   877 <dl class="note" compact><dt><b>Note:</b></dt><dd>This function is similar to <code>std::strncasecmp()</code> and is here because some old compilers do not define the <code>std::</code> version. </dd></dl>
   879 </div>
   880 </div><p>
   881 <a class="anchor" name="aab723edb9b070b285367e7ffc099d78"></a><!-- doxytag: member="cimg_library::cimg::strcmp" ref="aab723edb9b070b285367e7ffc099d78" args="(const char *const s1, const char *const s2)" -->
   882 <div class="memitem">
   883 <div class="memproto">
   884       <table class="memname">
   885         <tr>
   886           <td class="memname">int cimg_library::cimg::strcmp           </td>
   887           <td>(</td>
   888           <td class="paramtype">const char *const &nbsp;</td>
   889           <td class="paramname"> <em>s1</em>, </td>
   890         </tr>
   891         <tr>
   892           <td class="paramkey"></td>
   893           <td></td>
   894           <td class="paramtype">const char *const &nbsp;</td>
   895           <td class="paramname"> <em>s2</em></td><td>&nbsp;</td>
   896         </tr>
   897         <tr>
   898           <td></td>
   899           <td>)</td>
   900           <td></td><td></td><td><code> [inline]</code></td>
   901         </tr>
   902       </table>
   903 </div>
   904 <div class="memdoc">
   906 <p>
   907 Compare two C-strings. 
   908 <p>
   909 <dl class="note" compact><dt><b>Note:</b></dt><dd>This function is similar to <code>std::strcmp()</code> and is here because some old compilers do not define the <code>std::</code> version. </dd></dl>
   911 </div>
   912 </div><p>
   913 <a class="anchor" name="43334b3df38ff7c4369a503a4fc3a9f9"></a><!-- doxytag: member="cimg_library::cimg::strcasecmp" ref="43334b3df38ff7c4369a503a4fc3a9f9" args="(const char *const s1, const char *const s2)" -->
   914 <div class="memitem">
   915 <div class="memproto">
   916       <table class="memname">
   917         <tr>
   918           <td class="memname">int cimg_library::cimg::strcasecmp           </td>
   919           <td>(</td>
   920           <td class="paramtype">const char *const &nbsp;</td>
   921           <td class="paramname"> <em>s1</em>, </td>
   922         </tr>
   923         <tr>
   924           <td class="paramkey"></td>
   925           <td></td>
   926           <td class="paramtype">const char *const &nbsp;</td>
   927           <td class="paramname"> <em>s2</em></td><td>&nbsp;</td>
   928         </tr>
   929         <tr>
   930           <td></td>
   931           <td>)</td>
   932           <td></td><td></td><td><code> [inline]</code></td>
   933         </tr>
   934       </table>
   935 </div>
   936 <div class="memdoc">
   938 <p>
   939 Compare two C-strings, ignoring the case. 
   940 <p>
   941 <dl class="note" compact><dt><b>Note:</b></dt><dd>This function is similar to <code>std::strcasecmp()</code> and is here because some old compilers do not define the <code>std::</code> version. </dd></dl>
   943 </div>
   944 </div><p>
   945 <a class="anchor" name="9bd2a1e3ffff4538c4f53856e8b28ded"></a><!-- doxytag: member="cimg_library::cimg::dialog" ref="9bd2a1e3ffff4538c4f53856e8b28ded" args="(const char *title, const char *msg, const char *button1_txt, const char *button2_txt, const char *button3_txt, const char *button4_txt, const char *button5_txt, const char *button6_txt, const CImg&lt; t &gt; &amp;logo, const bool centering=false)" -->
   946 <div class="memitem">
   947 <div class="memproto">
   948       <table class="memname">
   949         <tr>
   950           <td class="memname">int cimg_library::cimg::dialog           </td>
   951           <td>(</td>
   952           <td class="paramtype">const char *&nbsp;</td>
   953           <td class="paramname"> <em>title</em>, </td>
   954         </tr>
   955         <tr>
   956           <td class="paramkey"></td>
   957           <td></td>
   958           <td class="paramtype">const char *&nbsp;</td>
   959           <td class="paramname"> <em>msg</em>, </td>
   960         </tr>
   961         <tr>
   962           <td class="paramkey"></td>
   963           <td></td>
   964           <td class="paramtype">const char *&nbsp;</td>
   965           <td class="paramname"> <em>button1_txt</em>, </td>
   966         </tr>
   967         <tr>
   968           <td class="paramkey"></td>
   969           <td></td>
   970           <td class="paramtype">const char *&nbsp;</td>
   971           <td class="paramname"> <em>button2_txt</em>, </td>
   972         </tr>
   973         <tr>
   974           <td class="paramkey"></td>
   975           <td></td>
   976           <td class="paramtype">const char *&nbsp;</td>
   977           <td class="paramname"> <em>button3_txt</em>, </td>
   978         </tr>
   979         <tr>
   980           <td class="paramkey"></td>
   981           <td></td>
   982           <td class="paramtype">const char *&nbsp;</td>
   983           <td class="paramname"> <em>button4_txt</em>, </td>
   984         </tr>
   985         <tr>
   986           <td class="paramkey"></td>
   987           <td></td>
   988           <td class="paramtype">const char *&nbsp;</td>
   989           <td class="paramname"> <em>button5_txt</em>, </td>
   990         </tr>
   991         <tr>
   992           <td class="paramkey"></td>
   993           <td></td>
   994           <td class="paramtype">const char *&nbsp;</td>
   995           <td class="paramname"> <em>button6_txt</em>, </td>
   996         </tr>
   997         <tr>
   998           <td class="paramkey"></td>
   999           <td></td>
  1000           <td class="paramtype">const CImg&lt; t &gt; &amp;&nbsp;</td>
  1001           <td class="paramname"> <em>logo</em>, </td>
  1002         </tr>
  1003         <tr>
  1004           <td class="paramkey"></td>
  1005           <td></td>
  1006           <td class="paramtype">const bool&nbsp;</td>
  1007           <td class="paramname"> <em>centering</em> = <code>false</code></td><td>&nbsp;</td>
  1008         </tr>
  1009         <tr>
  1010           <td></td>
  1011           <td>)</td>
  1012           <td></td><td></td><td><code> [inline]</code></td>
  1013         </tr>
  1014       </table>
  1015 </div>
  1016 <div class="memdoc">
  1018 <p>
  1019 Display a dialog box, where a user can click standard buttons. 
  1020 <p>
  1021 Up to 6 buttons can be defined in the dialog window. This function returns when a user clicked one of the button or closed the dialog window. <dl compact><dt><b>Parameters:</b></dt><dd>
  1022   <table border="0" cellspacing="2" cellpadding="0">
  1023     <tr><td valign="top"></td><td valign="top"><em>title</em>&nbsp;</td><td>= Title of the dialog window. </td></tr>
  1024     <tr><td valign="top"></td><td valign="top"><em>msg</em>&nbsp;</td><td>= Main message displayed inside the dialog window. </td></tr>
  1025     <tr><td valign="top"></td><td valign="top"><em>button1_txt</em>&nbsp;</td><td>= Label of the 1st button. </td></tr>
  1026     <tr><td valign="top"></td><td valign="top"><em>button2_txt</em>&nbsp;</td><td>= Label of the 2nd button. </td></tr>
  1027     <tr><td valign="top"></td><td valign="top"><em>button3_txt</em>&nbsp;</td><td>= Label of the 3rd button. </td></tr>
  1028     <tr><td valign="top"></td><td valign="top"><em>button4_txt</em>&nbsp;</td><td>= Label of the 4th button. </td></tr>
  1029     <tr><td valign="top"></td><td valign="top"><em>button5_txt</em>&nbsp;</td><td>= Label of the 5th button. </td></tr>
  1030     <tr><td valign="top"></td><td valign="top"><em>button6_txt</em>&nbsp;</td><td>= Label of the 6th button. </td></tr>
  1031     <tr><td valign="top"></td><td valign="top"><em>logo</em>&nbsp;</td><td>= Logo image displayed at the left of the main message. This parameter is optional. </td></tr>
  1032     <tr><td valign="top"></td><td valign="top"><em>centering</em>&nbsp;</td><td>= Tell to center the dialog window on the screen. </td></tr>
  1033   </table>
  1034 </dl>
  1035 <dl class="return" compact><dt><b>Returns:</b></dt><dd>The button number (from 0 to 5), or -1 if the dialog window has been closed by the user. </dd></dl>
  1036 <dl class="note" compact><dt><b>Note:</b></dt><dd>If a button text is set to 0, then the corresponding button (and the followings) won't appear in the dialog box. At least one button is necessary. </dd></dl>
  1038 </div>
  1039 </div><p>
  1040 </div>
  1041 <hr noshade="noshade" size="1" width="100%">
  1042 <a href="http://sourceforge.net">
  1043 <img src="http://sourceforge.net/sflogo.php?group_id=96492&amp;type=3" border="0" height="37" width="125"></img>
  1044 </a>
  1045 <!-- Start of StatCounter Code -->
  1046 <script type="text/javascript" language="javascript">
  1047 <!--
  1048 var sc_project=895001;
  1049 var sc_invisible=1;
  1050 var sc_partition=7;
  1051 var sc_security="5ea85181";
  1052 //-->
  1053 </script>
  1054 <script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script><noscript><a href="http://www.statcounter.com/" target="_blank"><img  src="http://c8.statcounter.com/counter.php?sc_project=895001&amp;java=0&amp;security=5ea85181&amp;invisible=1" alt="counter stats" border="0"></a> </noscript>
  1055 <!-- End of StatCounter Code -->
  1056 </body>
  1057 </html>