2026-08-06 22:56:24 +00:00
<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "en-US" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" />
< meta http-equiv = "X-UA-Compatible" content = "IE=11" />
< meta name = "generator" content = "Doxygen 1.9.8" />
< meta name = "viewport" content = "width=device-width, initial-scale=1" />
< title > RTAB-Map: utilite/include/rtabmap/utilite/UThread.h Source File</ title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "jquery.js" ></ script >
< script type = "text/javascript" src = "dynsections.js" ></ script >
< link href = "navtree.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "resize.js" ></ script >
< script type = "text/javascript" src = "navtreedata.js" ></ script >
< script type = "text/javascript" src = "navtree.js" ></ script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" src = "search/searchdata.js" ></ script >
< script type = "text/javascript" src = "search/search.js" ></ script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" />
< link href = "doxygen-awesome.css" rel = "stylesheet" type = "text/css" />
< link href = "custom.css" rel = "stylesheet" type = "text/css" />
< script type = "text/javascript" > window . RTABMAP_DOC_ROOT = "" ;</ script >
< script type = "text/javascript" src = "../versions.js" ></ script >
< script type = "text/javascript" src = "version-switcher.js" ></ script >
< script type = "text/javascript" src = "doxygen-awesome-darkmode-toggle.js" ></ script >
< script type = "text/javascript" > DoxygenAwesomeDarkModeToggle . init ();</ script >
</ head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr id = "projectrow" >
< td id = "projectalign" >
2026-09-20 06:51:14 +00:00
< div id = "projectname" > RTAB-Map< span id = "projectnumber" >   0.23.12</ span >
2026-08-06 22:56:24 +00:00
</ div >
< div id = "projectbrief" > Real-Time Appearance-Based Mapping</ div >
</ td >
</ tr >
</ tbody >
</ table >
</ div >
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
var searchBox = new SearchBox ( "searchBox" , "search/" , '.html' );
/* @license-end */
</ script >
< script type = "text/javascript" src = "menudata.js" ></ script >
< script type = "text/javascript" src = "menu.js" ></ script >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( function () {
initMenu ( '' , true , false , 'search.php' , 'Search' );
$ ( document ). ready ( function () { init_search (); });
});
/* @license-end */
</ script >
< div id = "main-nav" ></ div >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( document ). ready ( function () { init_codefold ( 0 ); });
/* @license-end */
</ script >
</ div > <!-- top -->
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" ></ div >
</ div >
</ div >
< div id = "splitbar" style = "-moz-user-select:none;"
class = "ui-resizable-handle" >
</ div >
</ div >
< script type = "text/javascript" >
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
$ ( document ). ready ( function (){ initNavTree ( 'UThread_8h_source.html' , '' ); initResizable (); });
/* @license-end */
</ script >
< div id = "doc-content" >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover = "return searchBox.OnSearchSelectShow()"
onmouseout = "return searchBox.OnSearchSelectHide()"
onkeydown = "return searchBox.OnSearchSelectKey(event)" >
</ div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< div id = "MSearchResults" >
< div class = "SRPage" >
< div id = "SRIndex" >
< div id = "SRResults" ></ div >
< div class = "SRStatus" id = "Loading" > Loading...</ div >
< div class = "SRStatus" id = "Searching" > Searching...</ div >
< div class = "SRStatus" id = "NoMatches" > No Matches</ div >
</ div >
</ div >
</ div >
</ div >
< div class = "header" >
< div class = "headertitle" >< div class = "title" > UThread.h</ div ></ div >
</ div > <!--header-->
< div class = "contents" >
< div class = "fragment" >< div class = "line" >< a id = "l00001" name = "l00001" ></ a >< span class = "lineno" > 1</ span >< span class = "comment" > /*</ span ></ div >
< div class = "line" >< a id = "l00002" name = "l00002" ></ a >< span class = "lineno" > 2</ span >< span class = "comment" > * utilite is a cross-platform library with</ span ></ div >
< div class = "line" >< a id = "l00003" name = "l00003" ></ a >< span class = "lineno" > 3</ span >< span class = "comment" > * useful utilities for fast and small developing.</ span ></ div >
< div class = "line" >< a id = "l00004" name = "l00004" ></ a >< span class = "lineno" > 4</ span >< span class = "comment" > * Copyright (C) 2010 Mathieu Labbe</ span ></ div >
< div class = "line" >< a id = "l00005" name = "l00005" ></ a >< span class = "lineno" > 5</ span >< span class = "comment" > *</ span ></ div >
< div class = "line" >< a id = "l00006" name = "l00006" ></ a >< span class = "lineno" > 6</ span >< span class = "comment" > * utilite is free library: you can redistribute it and/or modify</ span ></ div >
< div class = "line" >< a id = "l00007" name = "l00007" ></ a >< span class = "lineno" > 7</ span >< span class = "comment" > * it under the terms of the GNU Lesser General Public License as published by</ span ></ div >
< div class = "line" >< a id = "l00008" name = "l00008" ></ a >< span class = "lineno" > 8</ span >< span class = "comment" > * the Free Software Foundation, either version 3 of the License, or</ span ></ div >
< div class = "line" >< a id = "l00009" name = "l00009" ></ a >< span class = "lineno" > 9</ span >< span class = "comment" > * (at your option) any later version.</ span ></ div >
< div class = "line" >< a id = "l00010" name = "l00010" ></ a >< span class = "lineno" > 10</ span >< span class = "comment" > *</ span ></ div >
< div class = "line" >< a id = "l00011" name = "l00011" ></ a >< span class = "lineno" > 11</ span >< span class = "comment" > * utilite is distributed in the hope that it will be useful,</ span ></ div >
< div class = "line" >< a id = "l00012" name = "l00012" ></ a >< span class = "lineno" > 12</ span >< span class = "comment" > * but WITHOUT ANY WARRANTY; without even the implied warranty of</ span ></ div >
< div class = "line" >< a id = "l00013" name = "l00013" ></ a >< span class = "lineno" > 13</ span >< span class = "comment" > * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</ span ></ div >
< div class = "line" >< a id = "l00014" name = "l00014" ></ a >< span class = "lineno" > 14</ span >< span class = "comment" > * GNU Lesser General Public License for more details.</ span ></ div >
< div class = "line" >< a id = "l00015" name = "l00015" ></ a >< span class = "lineno" > 15</ span >< span class = "comment" > *</ span ></ div >
< div class = "line" >< a id = "l00016" name = "l00016" ></ a >< span class = "lineno" > 16</ span >< span class = "comment" > * You should have received a copy of the GNU Lesser General Public License</ span ></ div >
< div class = "line" >< a id = "l00017" name = "l00017" ></ a >< span class = "lineno" > 17</ span >< span class = "comment" > * along with this program. If not, see < http://www.gnu.org/licenses/> .</ span ></ div >
< div class = "line" >< a id = "l00018" name = "l00018" ></ a >< span class = "lineno" > 18</ span >< span class = "comment" > */</ span ></ div >
< div class = "line" >< a id = "l00019" name = "l00019" ></ a >< span class = "lineno" > 19</ span > </ div >
< div class = "line" >< a id = "l00020" name = "l00020" ></ a >< span class = "lineno" > 20</ span >< span class = "preprocessor" > #ifndef UTHREADNODE_H</ span ></ div >
< div class = "line" >< a id = "l00021" name = "l00021" ></ a >< span class = "lineno" > 21</ span >< span class = "preprocessor" > #define UTHREADNODE_H</ span ></ div >
< div class = "line" >< a id = "l00022" name = "l00022" ></ a >< span class = "lineno" > 22</ span > </ div >
< div class = "line" >< a id = "l00023" name = "l00023" ></ a >< span class = "lineno" > 23</ span >< span class = "preprocessor" > #include " rtabmap/utilite/utilite_export.h" </ span > < span class = "comment" > // DLL export/import defines</ span ></ div >
< div class = "line" >< a id = "l00024" name = "l00024" ></ a >< span class = "lineno" > 24</ span > </ div >
< div class = "line" >< a id = "l00025" name = "l00025" ></ a >< span class = "lineno" > 25</ span >< span class = "preprocessor" > #include " rtabmap/utilite/UThreadC.h" </ span ></ div >
< div class = "line" >< a id = "l00026" name = "l00026" ></ a >< span class = "lineno" > 26</ span > </ div >
< div class = "foldopen" id = "foldopen00086" data-start = "{" data-end = "};" >
< div class = "line" >< a id = "l00086" name = "l00086" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html" > 86</ a ></ span >< span class = "keyword" > class </ span > UTILITE_EXPORT < a class = "code hl_class" href = "classUThread.html" > UThread</ a > : < span class = "keyword" > public</ span > < a class = "code hl_class" href = "classUThreadC.html" > UThreadC</ a > < void> </ div >
< div class = "line" >< a id = "l00087" name = "l00087" ></ a >< span class = "lineno" > 87</ span > {</ div >
< div class = "line" >< a id = "l00088" name = "l00088" ></ a >< span class = "lineno" > 88</ span >< span class = "keyword" > public</ span > :</ div >
< div class = "line" >< a id = "l00092" name = "l00092" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153" > 92</ a ></ span > < span class = "keyword" > enum</ span > < a class = "code hl_enumeration" href = "classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153" > Priority</ a > {kPLow, kPBelowNormal, kPNormal, kPAboveNormal, kPRealTime};</ div >
< div class = "line" >< a id = "l00093" name = "l00093" ></ a >< span class = "lineno" > 93</ span > </ div >
< div class = "line" >< a id = "l00094" name = "l00094" ></ a >< span class = "lineno" > 94</ span >< span class = "keyword" > public</ span > :</ div >
< div class = "line" >< a id = "l00095" name = "l00095" ></ a >< span class = "lineno" > 95</ span > < span class = "comment" > //return caller thread id</ span ></ div >
< div class = "line" >< a id = "l00096" name = "l00096" ></ a >< span class = "lineno" > 96</ span > < span class = "keyword" > static</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > long</ span > currentThreadId() {< span class = "keywordflow" > return</ span > (< span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > long</ span > )< a class = "code hl_class" href = "classUThreadC.html" > UThreadC< void> ::Self</ a > ();}</ div >
< div class = "line" >< a id = "l00097" name = "l00097" ></ a >< span class = "lineno" > 97</ span > </ div >
< div class = "line" >< a id = "l00098" name = "l00098" ></ a >< span class = "lineno" > 98</ span >< span class = "keyword" > public</ span > :</ div >
< div class = "line" >< a id = "l00104" name = "l00104" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#a05a92f95e2a8900f27b09ddf907b97be" > 104</ a ></ span > < a class = "code hl_function" href = "classUThread.html#a05a92f95e2a8900f27b09ddf907b97be" > UThread</ a > (< a class = "code hl_enumeration" href = "classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153" > Priority</ a > priority = kPNormal);</ div >
< div class = "line" >< a id = "l00105" name = "l00105" ></ a >< span class = "lineno" > 105</ span > </ div >
< div class = "line" >< a id = "l00112" name = "l00112" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#a437580d224111e60cbe2626f0e4cb12e" > 112</ a ></ span > < span class = "keyword" > virtual</ span > < a class = "code hl_function" href = "classUThread.html#a437580d224111e60cbe2626f0e4cb12e" > ~UThread</ a > ();</ div >
< div class = "line" >< a id = "l00113" name = "l00113" ></ a >< span class = "lineno" > 113</ span > </ div >
< div class = "line" >< a id = "l00119" name = "l00119" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#a051e9adcf24f92b9c8e31acd06bad88c" > 119</ a ></ span > < span class = "keywordtype" > void</ span > < a class = "code hl_function" href = "classUThread.html#a051e9adcf24f92b9c8e31acd06bad88c" > start</ a > ();</ div >
< div class = "line" >< a id = "l00120" name = "l00120" ></ a >< span class = "lineno" > 120</ span > </ div >
< div class = "line" >< a id = "l00127" name = "l00127" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#a8dfefcfd68b453da08ddba9836f35965" > 127</ a ></ span > < span class = "keywordtype" > void</ span > < a class = "code hl_function" href = "classUThread.html#a8dfefcfd68b453da08ddba9836f35965" > kill</ a > ();</ div >
< div class = "line" >< a id = "l00128" name = "l00128" ></ a >< span class = "lineno" > 128</ span > </ div >
< div class = "line" >< a id = "l00135" name = "l00135" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#acf33c0e4b656af76da100e7d4f69ed1d" > 135</ a ></ span > < span class = "keywordtype" > void</ span > < a class = "code hl_function" href = "classUThread.html#acf33c0e4b656af76da100e7d4f69ed1d" > join</ a > (< span class = "keywordtype" > bool</ span > killFirst = < span class = "keyword" > false</ span > );</ div >
< div class = "line" >< a id = "l00136" name = "l00136" ></ a >< span class = "lineno" > 136</ span > </ div >
< div class = "line" >< a id = "l00141" name = "l00141" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#a80418be3a80a01ddd05a863b58787b43" > 141</ a ></ span > < span class = "keywordtype" > void</ span > < a class = "code hl_function" href = "classUThread.html#a80418be3a80a01ddd05a863b58787b43" > setPriority</ a > (< a class = "code hl_enumeration" href = "classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153" > Priority</ a > priority);</ div >
< div class = "line" >< a id = "l00142" name = "l00142" ></ a >< span class = "lineno" > 142</ span > </ div >
< div class = "line" >< a id = "l00149" name = "l00149" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#aabcf31acae6ca5b8503ec320acbc11f8" > 149</ a ></ span > < span class = "keywordtype" > void</ span > < a class = "code hl_function" href = "classUThread.html#aabcf31acae6ca5b8503ec320acbc11f8" > setAffinity</ a > (< span class = "keywordtype" > int</ span > cpu = 0);</ div >
< div class = "line" >< a id = "l00150" name = "l00150" ></ a >< span class = "lineno" > 150</ span > </ div >
< div class = "line" >< a id = "l00154" name = "l00154" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#ac80eff7d48382fd230141ca286370d33" > 154</ a ></ span > < span class = "keywordtype" > bool</ span > < a class = "code hl_function" href = "classUThread.html#ac80eff7d48382fd230141ca286370d33" > isCreating</ a > () < span class = "keyword" > const</ span > ;</ div >
< div class = "line" >< a id = "l00155" name = "l00155" ></ a >< span class = "lineno" > 155</ span > </ div >
< div class = "line" >< a id = "l00159" name = "l00159" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#a38e2b22f0616ed4128312baff9cfeba9" > 159</ a ></ span > < span class = "keywordtype" > bool</ span > < a class = "code hl_function" href = "classUThread.html#a38e2b22f0616ed4128312baff9cfeba9" > isRunning</ a > () < span class = "keyword" > const</ span > ;</ div >
< div class = "line" >< a id = "l00160" name = "l00160" ></ a >< span class = "lineno" > 160</ span > </ div >
< div class = "line" >< a id = "l00164" name = "l00164" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#a2c4554ad881c0532239a0930c2ebfe24" > 164</ a ></ span > < span class = "keywordtype" > bool</ span > < a class = "code hl_function" href = "classUThread.html#a2c4554ad881c0532239a0930c2ebfe24" > isIdle</ a > () < span class = "keyword" > const</ span > ;</ div >
< div class = "line" >< a id = "l00165" name = "l00165" ></ a >< span class = "lineno" > 165</ span > </ div >
< div class = "line" >< a id = "l00169" name = "l00169" ></ a >< span class = "lineno" >< a class = "line" href = "classUThread.html#a3a0d0de0f78eab72512941ccd048477b" > 169</ a ></ span > < span class = "keywordtype" > bool</ span > < a class = "code hl_function" href = "classUThread.html#a3a0d0de0f78eab72512941ccd048477b" > isKilled</ a > () < span class = "keyword" > const</ span > ;</ div >
< div class = "line" >< a id = "l00170" name = "l00170" ></ a >< span class = "lineno" > 170</ span > </ div >
< div class = "line" >< a id = "l00171" name = "l00171" ></ a >< span class = "lineno" > 171</ span > Handle getThreadHandle()< span class = "keyword" > const </ span > {< span class = "keywordflow" > return</ span > handle_;}</ div >
< div class = "line" >< a id = "l00172" name = "l00172" ></ a >< span class = "lineno" > 172</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > long</ span > getThreadId()< span class = "keyword" > const </ span > {< span class = "keywordflow" > return</ span > threadId_;}</ div >
< div class = "line" >< a id = "l00173" name = "l00173" ></ a >< span class = "lineno" > 173</ span > </ div >
< div class = "line" >< a id = "l00174" name = "l00174" ></ a >< span class = "lineno" > 174</ span >< span class = "keyword" > protected</ span > :</ div >
< div class = "line" >< a id = "l00175" name = "l00175" ></ a >< span class = "lineno" > 175</ span > </ div >
< div class = "line" >< a id = "l00176" name = "l00176" ></ a >< span class = "lineno" > 176</ span >< span class = "keyword" > private</ span > :</ div >
< div class = "line" >< a id = "l00183" name = "l00183" ></ a >< span class = "lineno" > 183</ span > < span class = "keyword" > virtual</ span > < span class = "keywordtype" > void</ span > mainLoopBegin() {}</ div >
< div class = "line" >< a id = "l00184" name = "l00184" ></ a >< span class = "lineno" > 184</ span > </ div >
< div class = "line" >< a id = "l00194" name = "l00194" ></ a >< span class = "lineno" > 194</ span > < span class = "keyword" > virtual</ span > < span class = "keywordtype" > void</ span > mainLoop() = 0;</ div >
< div class = "line" >< a id = "l00195" name = "l00195" ></ a >< span class = "lineno" > 195</ span > </ div >
< div class = "line" >< a id = "l00203" name = "l00203" ></ a >< span class = "lineno" > 203</ span > < span class = "keyword" > virtual</ span > < span class = "keywordtype" > void</ span > mainLoopKill() {}</ div >
< div class = "line" >< a id = "l00204" name = "l00204" ></ a >< span class = "lineno" > 204</ span > </ div >
< div class = "line" >< a id = "l00211" name = "l00211" ></ a >< span class = "lineno" > 211</ span > < span class = "keyword" > virtual</ span > < span class = "keywordtype" > void</ span > mainLoopEnd() {}</ div >
< div class = "line" >< a id = "l00212" name = "l00212" ></ a >< span class = "lineno" > 212</ span > </ div >
< div class = "line" >< a id = "l00213" name = "l00213" ></ a >< span class = "lineno" > 213</ span > < span class = "comment" > /*</ span ></ div >
< div class = "line" >< a id = "l00214" name = "l00214" ></ a >< span class = "lineno" > 214</ span >< span class = "comment" > * Inherited method ThreadMain() from Thread.</ span ></ div >
< div class = "line" >< a id = "l00215" name = "l00215" ></ a >< span class = "lineno" > 215</ span >< span class = "comment" > * @see Thread< void> </ span ></ div >
< div class = "line" >< a id = "l00216" name = "l00216" ></ a >< span class = "lineno" > 216</ span >< span class = "comment" > */</ span ></ div >
< div class = "line" >< a id = "l00217" name = "l00217" ></ a >< span class = "lineno" > 217</ span > < span class = "keywordtype" > void</ span > ThreadMain();</ div >
< div class = "line" >< a id = "l00218" name = "l00218" ></ a >< span class = "lineno" > 218</ span > </ div >
< div class = "line" >< a id = "l00219" name = "l00219" ></ a >< span class = "lineno" > 219</ span > < span class = "comment" > /*</ span ></ div >
< div class = "line" >< a id = "l00220" name = "l00220" ></ a >< span class = "lineno" > 220</ span >< span class = "comment" > * Apply thread priority. This is called when starting the thread.</ span ></ div >
< div class = "line" >< a id = "l00221" name = "l00221" ></ a >< span class = "lineno" > 221</ span >< span class = "comment" > * *@todo : Support pthread</ span ></ div >
< div class = "line" >< a id = "l00222" name = "l00222" ></ a >< span class = "lineno" > 222</ span >< span class = "comment" > */</ span ></ div >
< div class = "line" >< a id = "l00223" name = "l00223" ></ a >< span class = "lineno" > 223</ span > < span class = "keywordtype" > void</ span > applyPriority();</ div >
< div class = "line" >< a id = "l00224" name = "l00224" ></ a >< span class = "lineno" > 224</ span > </ div >
< div class = "line" >< a id = "l00225" name = "l00225" ></ a >< span class = "lineno" > 225</ span > < span class = "comment" > /*</ span ></ div >
< div class = "line" >< a id = "l00226" name = "l00226" ></ a >< span class = "lineno" > 226</ span >< span class = "comment" > * Apply cpu affinity. This is called when starting the thread.</ span ></ div >
< div class = "line" >< a id = "l00227" name = "l00227" ></ a >< span class = "lineno" > 227</ span >< span class = "comment" > * *@todo : Support Windows</ span ></ div >
< div class = "line" >< a id = "l00228" name = "l00228" ></ a >< span class = "lineno" > 228</ span >< span class = "comment" > */</ span ></ div >
< div class = "line" >< a id = "l00229" name = "l00229" ></ a >< span class = "lineno" > 229</ span > < span class = "keywordtype" > void</ span > applyAffinity();</ div >
< div class = "line" >< a id = "l00230" name = "l00230" ></ a >< span class = "lineno" > 230</ span > </ div >
< div class = "line" >< a id = "l00231" name = "l00231" ></ a >< span class = "lineno" > 231</ span > < span class = "comment" > /*</ span ></ div >
< div class = "line" >< a id = "l00232" name = "l00232" ></ a >< span class = "lineno" > 232</ span >< span class = "comment" > * Inherited method Create() from Thread.</ span ></ div >
< div class = "line" >< a id = "l00233" name = "l00233" ></ a >< span class = "lineno" > 233</ span >< span class = "comment" > * Here we force this function to be private so the</ span ></ div >
< div class = "line" >< a id = "l00234" name = "l00234" ></ a >< span class = "lineno" > 234</ span >< span class = "comment" > * inherited class can' t have access to it.</ span ></ div >
< div class = "line" >< a id = "l00235" name = "l00235" ></ a >< span class = "lineno" > 235</ span >< span class = "comment" > * @see Thread< void> </ span ></ div >
< div class = "line" >< a id = "l00236" name = "l00236" ></ a >< span class = "lineno" > 236</ span >< span class = "comment" > */</ span ></ div >
< div class = "line" >< a id = "l00237" name = "l00237" ></ a >< span class = "lineno" > 237</ span > < span class = "keywordtype" > int</ span > Create(</ div >
< div class = "line" >< a id = "l00238" name = "l00238" ></ a >< span class = "lineno" > 238</ span > Handle * < span class = "keyword" > const</ span > & H = 0,</ div >
< div class = "line" >< a id = "l00239" name = "l00239" ></ a >< span class = "lineno" > 239</ span > < span class = "keyword" > const</ span > < span class = "keywordtype" > bool</ span > & CreateDetached = < span class = "keyword" > false</ span > ,</ div >
< div class = "line" >< a id = "l00240" name = "l00240" ></ a >< span class = "lineno" > 240</ span > < span class = "keyword" > const</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > int</ span > & StackSize = 0,</ div >
< div class = "line" >< a id = "l00241" name = "l00241" ></ a >< span class = "lineno" > 241</ span > < span class = "keyword" > const</ span > < span class = "keywordtype" > bool</ span > & CancelEnable = < span class = "keyword" > false</ span > , < span class = "comment" > // UNUSED</ span ></ div >
< div class = "line" >< a id = "l00242" name = "l00242" ></ a >< span class = "lineno" > 242</ span > < span class = "keyword" > const</ span > < span class = "keywordtype" > bool</ span > & CancelAsync = < span class = "keyword" > false</ span > < span class = "comment" > // UNUSED</ span ></ div >
< div class = "line" >< a id = "l00243" name = "l00243" ></ a >< span class = "lineno" > 243</ span > ) < span class = "keyword" > const</ span > ;</ div >
< div class = "line" >< a id = "l00244" name = "l00244" ></ a >< span class = "lineno" > 244</ span > </ div >
< div class = "line" >< a id = "l00245" name = "l00245" ></ a >< span class = "lineno" > 245</ span > < span class = "comment" > //Methods from UThread< void> class hided</ span ></ div >
< div class = "line" >< a id = "l00246" name = "l00246" ></ a >< span class = "lineno" > 246</ span > < span class = "keyword" > static</ span > < span class = "keywordtype" > int</ span > Join( Handle H )</ div >
< div class = "line" >< a id = "l00247" name = "l00247" ></ a >< span class = "lineno" > 247</ span > { < span class = "keywordflow" > return</ span > < a class = "code hl_class" href = "classUThreadC.html" > UThreadC< void> ::Join</ a > (H); }</ div >
< div class = "line" >< a id = "l00248" name = "l00248" ></ a >< span class = "lineno" > 248</ span >< span class = "preprocessor" > #ifndef ANDROID</ span ></ div >
< div class = "line" >< a id = "l00249" name = "l00249" ></ a >< span class = "lineno" > 249</ span > < span class = "keyword" > static</ span > < span class = "keywordtype" > int</ span > Kill( Handle H )</ div >
< div class = "line" >< a id = "l00250" name = "l00250" ></ a >< span class = "lineno" > 250</ span > { < span class = "keywordflow" > return</ span > < a class = "code hl_class" href = "classUThreadC.html" > UThreadC< void> ::Kill</ a > (H); }</ div >
< div class = "line" >< a id = "l00251" name = "l00251" ></ a >< span class = "lineno" > 251</ span >< span class = "preprocessor" > #endif</ span ></ div >
< div class = "line" >< a id = "l00252" name = "l00252" ></ a >< span class = "lineno" > 252</ span > < span class = "keyword" > static</ span > < span class = "keywordtype" > int</ span > Detach( Handle H )</ div >
< div class = "line" >< a id = "l00253" name = "l00253" ></ a >< span class = "lineno" > 253</ span > { < span class = "keywordflow" > return</ span > < a class = "code hl_class" href = "classUThreadC.html" > UThreadC< void> ::Detach</ a > (H); }</ div >
< div class = "line" >< a id = "l00254" name = "l00254" ></ a >< span class = "lineno" > 254</ span > </ div >
< div class = "line" >< a id = "l00255" name = "l00255" ></ a >< span class = "lineno" > 255</ span >< span class = "keyword" > private</ span > :</ div >
< div class = "line" >< a id = "l00256" name = "l00256" ></ a >< span class = "lineno" > 256</ span > < span class = "keywordtype" > void</ span > operator=(< a class = "code hl_class" href = "classUThread.html" > UThread</ a > & ) {}</ div >
< div class = "line" >< a id = "l00257" name = "l00257" ></ a >< span class = "lineno" > 257</ span > < a class = "code hl_class" href = "classUThread.html" > UThread</ a > ( < span class = "keyword" > const</ span > < a class = "code hl_class" href = "classUThread.html" > UThread</ a > & ) : state_(kSIdle) {}</ div >
< div class = "line" >< a id = "l00258" name = "l00258" ></ a >< span class = "lineno" > 258</ span > </ div >
< div class = "line" >< a id = "l00259" name = "l00259" ></ a >< span class = "lineno" > 259</ span >< span class = "keyword" > private</ span > :</ div >
< div class = "line" >< a id = "l00260" name = "l00260" ></ a >< span class = "lineno" > 260</ span > < span class = "keyword" > enum</ span > State{kSIdle, kSCreating, kSRunning, kSKilled}; < span class = "comment" > /* Enum of states. */</ span ></ div >
< div class = "line" >< a id = "l00261" name = "l00261" ></ a >< span class = "lineno" > 261</ span > State state_; < span class = "comment" > /* The thread state. */</ span ></ div >
< div class = "line" >< a id = "l00262" name = "l00262" ></ a >< span class = "lineno" > 262</ span > Priority priority_; < span class = "comment" > /* The thread priority. */</ span ></ div >
< div class = "line" >< a id = "l00263" name = "l00263" ></ a >< span class = "lineno" > 263</ span > Handle handle_; < span class = "comment" > /* The thread handle. */</ span ></ div >
< div class = "line" >< a id = "l00264" name = "l00264" ></ a >< span class = "lineno" > 264</ span > < span class = "keywordtype" > unsigned</ span > < span class = "keywordtype" > long</ span > threadId_; < span class = "comment" > /* The thread id. */</ span ></ div >
< div class = "line" >< a id = "l00265" name = "l00265" ></ a >< span class = "lineno" > 265</ span > < span class = "keywordtype" > int</ span > cpuAffinity_; < span class = "comment" > /* The cpu affinity. */</ span ></ div >
< div class = "line" >< a id = "l00266" name = "l00266" ></ a >< span class = "lineno" > 266</ span > < a class = "code hl_class" href = "classUMutex.html" > UMutex</ a > killSafelyMutex_; < span class = "comment" > /* Mutex used to protect the kill() method. */</ span ></ div >
< div class = "line" >< a id = "l00267" name = "l00267" ></ a >< span class = "lineno" > 267</ span > < a class = "code hl_class" href = "classUMutex.html" > UMutex</ a > runningMutex_; < span class = "comment" > /* Mutex used to notify the join method when the thread has finished. */</ span ></ div >
< div class = "line" >< a id = "l00268" name = "l00268" ></ a >< span class = "lineno" > 268</ span > };</ div >
</ div >
< div class = "line" >< a id = "l00269" name = "l00269" ></ a >< span class = "lineno" > 269</ span > </ div >
< div class = "line" >< a id = "l00270" name = "l00270" ></ a >< span class = "lineno" > 270</ span >< span class = "preprocessor" > #endif </ span >< span class = "comment" > // UTHREADNODE_H</ span ></ div >
< div class = "ttc" id = "aclassUMutex_html" >< div class = "ttname" >< a href = "classUMutex.html" > UMutex</ a ></ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UMutex_8h_source.html#l00054" > UMutex.h:55</ a ></ div ></ div >
< div class = "ttc" id = "aclassUThreadC_html" >< div class = "ttname" >< a href = "classUThreadC.html" > UThreadC</ a ></ div >< div class = "ttdef" >< b > Definition</ b > < a href = "Posix_2UThreadC_8h_source.html#l00066" > UThreadC.h:67</ a ></ div ></ div >
< div class = "ttc" id = "aclassUThread_html" >< div class = "ttname" >< a href = "classUThread.html" > UThread</ a ></ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UThread_8h_source.html#l00086" > UThread.h:87</ a ></ div ></ div >
< div class = "ttc" id = "aclassUThread_html_a051e9adcf24f92b9c8e31acd06bad88c" >< div class = "ttname" >< a href = "classUThread.html#a051e9adcf24f92b9c8e31acd06bad88c" > UThread::start</ a ></ div >< div class = "ttdeci" > void start()</ div ></ div >
< div class = "ttc" id = "aclassUThread_html_a05a92f95e2a8900f27b09ddf907b97be" >< div class = "ttname" >< a href = "classUThread.html#a05a92f95e2a8900f27b09ddf907b97be" > UThread::UThread</ a ></ div >< div class = "ttdeci" > UThread(Priority priority=kPNormal)</ div ></ div >
< div class = "ttc" id = "aclassUThread_html_a2c4554ad881c0532239a0930c2ebfe24" >< div class = "ttname" >< a href = "classUThread.html#a2c4554ad881c0532239a0930c2ebfe24" > UThread::isIdle</ a ></ div >< div class = "ttdeci" > bool isIdle() const</ div ></ div >
< div class = "ttc" id = "aclassUThread_html_a38e2b22f0616ed4128312baff9cfeba9" >< div class = "ttname" >< a href = "classUThread.html#a38e2b22f0616ed4128312baff9cfeba9" > UThread::isRunning</ a ></ div >< div class = "ttdeci" > bool isRunning() const</ div ></ div >
< div class = "ttc" id = "aclassUThread_html_a3a0d0de0f78eab72512941ccd048477b" >< div class = "ttname" >< a href = "classUThread.html#a3a0d0de0f78eab72512941ccd048477b" > UThread::isKilled</ a ></ div >< div class = "ttdeci" > bool isKilled() const</ div ></ div >
< div class = "ttc" id = "aclassUThread_html_a437580d224111e60cbe2626f0e4cb12e" >< div class = "ttname" >< a href = "classUThread.html#a437580d224111e60cbe2626f0e4cb12e" > UThread::~UThread</ a ></ div >< div class = "ttdeci" > virtual ~UThread()</ div ></ div >
< div class = "ttc" id = "aclassUThread_html_a731ef4dd5a8d15abcc06e7cfa53cd153" >< div class = "ttname" >< a href = "classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153" > UThread::Priority</ a ></ div >< div class = "ttdeci" > Priority</ div >< div class = "ttdef" >< b > Definition</ b > < a href = "UThread_8h_source.html#l00092" > UThread.h:92</ a ></ div ></ div >
< div class = "ttc" id = "aclassUThread_html_a80418be3a80a01ddd05a863b58787b43" >< div class = "ttname" >< a href = "classUThread.html#a80418be3a80a01ddd05a863b58787b43" > UThread::setPriority</ a ></ div >< div class = "ttdeci" > void setPriority(Priority priority)</ div ></ div >
< div class = "ttc" id = "aclassUThread_html_a8dfefcfd68b453da08ddba9836f35965" >< div class = "ttname" >< a href = "classUThread.html#a8dfefcfd68b453da08ddba9836f35965" > UThread::kill</ a ></ div >< div class = "ttdeci" > void kill()</ div ></ div >
< div class = "ttc" id = "aclassUThread_html_aabcf31acae6ca5b8503ec320acbc11f8" >< div class = "ttname" >< a href = "classUThread.html#aabcf31acae6ca5b8503ec320acbc11f8" > UThread::setAffinity</ a ></ div >< div class = "ttdeci" > void setAffinity(int cpu=0)</ div ></ div >
< div class = "ttc" id = "aclassUThread_html_ac80eff7d48382fd230141ca286370d33" >< div class = "ttname" >< a href = "classUThread.html#ac80eff7d48382fd230141ca286370d33" > UThread::isCreating</ a ></ div >< div class = "ttdeci" > bool isCreating() const</ div ></ div >
< div class = "ttc" id = "aclassUThread_html_acf33c0e4b656af76da100e7d4f69ed1d" >< div class = "ttname" >< a href = "classUThread.html#acf33c0e4b656af76da100e7d4f69ed1d" > UThread::join</ a ></ div >< div class = "ttdeci" > void join(bool killFirst=false)</ div ></ div >
</ div > <!-- fragment --> </ div > <!-- contents -->
</ div > <!-- doc-content -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
< li class = "navelem" >< a class = "el" href = "dir_7c77c469ef71e5893c1567cf621a9d83.html" > utilite</ a ></ li >< li class = "navelem" >< a class = "el" href = "dir_5807fd1f37f21884b665e4f5337b2441.html" > include</ a ></ li >< li class = "navelem" >< a class = "el" href = "dir_d5b9494e18cb3ada3ef427a965bb34ab.html" > rtabmap</ a ></ li >< li class = "navelem" >< a class = "el" href = "dir_85e098119c0e838040cd00f42e29c3c2.html" > utilite</ a ></ li >< li class = "navelem" >< b > UThread.h</ b ></ li >
< li class = "footer" > Generated by < a href = "https://www.doxygen.org/index.html" >< img class = "footer" src = "doxygen.svg" width = "104" height = "31" alt = "doxygen" /></ a > 1.9.8 </ li >
</ ul >
</ div >
</ body >
</ html >