aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1array.html
diff options
context:
space:
mode:
Diffstat (limited to 'src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1array.html')
-rw-r--r--src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1array.html1252
1 files changed, 1252 insertions, 0 deletions
diff --git a/src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1array.html b/src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1array.html
new file mode 100644
index 0000000..90c1847
--- /dev/null
+++ b/src/others/irrlicht-1.8.1/doc/html/classirr_1_1core_1_1array.html
@@ -0,0 +1,1252 @@
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>Irrlicht 3D Engine: irr::core::array&lt; T, TAlloc &gt; Class Template Reference</title>
6
7<link href="tabs.css" rel="stylesheet" type="text/css"/>
8<link href="doxygen.css" rel="stylesheet" type="text/css" />
9<link href="navtree.css" rel="stylesheet" type="text/css"/>
10<script type="text/javascript" src="jquery.js"></script>
11<script type="text/javascript" src="resize.js"></script>
12<script type="text/javascript" src="navtree.js"></script>
13<script type="text/javascript">
14 $(document).ready(initResizable);
15</script>
16<link href="search/search.css" rel="stylesheet" type="text/css"/>
17<script type="text/javascript" src="search/search.js"></script>
18<script type="text/javascript">
19 $(document).ready(function() { searchBox.OnSelectItem(0); });
20</script>
21
22</head>
23<body>
24<div id="top"><!-- do not remove this div! -->
25
26
27<div id="titlearea">
28<table cellspacing="0" cellpadding="0">
29 <tbody>
30 <tr style="height: 56px;">
31
32 <td id="projectlogo"><img alt="Logo" src="irrlichtlogo.png"/></td>
33
34
35 <td style="padding-left: 0.5em;">
36 <div id="projectname">Irrlicht 3D Engine
37
38 </div>
39
40 </td>
41
42
43
44
45 <td> <div id="MSearchBox" class="MSearchBoxInactive">
46 <span class="left">
47 <img id="MSearchSelect" src="search/mag_sel.png"
48 onmouseover="return searchBox.OnSearchSelectShow()"
49 onmouseout="return searchBox.OnSearchSelectHide()"
50 alt=""/>
51 <input type="text" id="MSearchField" value="Search" accesskey="S"
52 onfocus="searchBox.OnSearchFieldFocus(true)"
53 onblur="searchBox.OnSearchFieldFocus(false)"
54 onkeyup="searchBox.OnSearchFieldChange(event)"/>
55 </span><span class="right">
56 <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
57 </span>
58 </div>
59</td>
60
61
62 </tr>
63 </tbody>
64</table>
65</div>
66
67<!-- Generated by Doxygen 1.7.5.1 -->
68<script type="text/javascript">
69var searchBox = new SearchBox("searchBox", "search",false,'Search');
70</script>
71<script type="text/javascript" src="dynsections.js"></script>
72</div>
73<div id="side-nav" class="ui-resizable side-nav-resizable">
74 <div id="nav-tree">
75 <div id="nav-tree-contents">
76 </div>
77 </div>
78 <div id="splitbar" style="-moz-user-select:none;"
79 class="ui-resizable-handle">
80 </div>
81</div>
82<script type="text/javascript">
83 initNavTree('classirr_1_1core_1_1array.html','');
84</script>
85<div id="doc-content">
86<div class="header">
87 <div class="summary">
88<a href="#pub-methods">Public Member Functions</a> </div>
89 <div class="headertitle">
90<div class="title">irr::core::array&lt; T, TAlloc &gt; Class Template Reference</div> </div>
91</div>
92<div class="contents">
93<!-- doxytag: class="irr::core::array" -->
94<p>Self reallocating template array (like stl vector) with additional features.
95 <a href="classirr_1_1core_1_1array.html#details">More...</a></p>
96
97<p><code>#include &lt;<a class="el" href="irr_array_8h_source.html">irrArray.h</a>&gt;</code></p>
98
99<p><a href="classirr_1_1core_1_1array-members.html">List of all members.</a></p>
100<h2><a name="pub-methods"></a>
101Public Member Functions</h2>
102<ul>
103<li><a class="el" href="classirr_1_1core_1_1array.html#a5e0dd817352068af92448a08716f1252">array</a> ()
104<dl class="el"><dd class="mdescRight">Default constructor for empty array. <a href="#a5e0dd817352068af92448a08716f1252"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1array.html#ab58c4b2c09693190b43ee16e99722b43">array</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> start_count)
105<dl class="el"><dd class="mdescRight">Constructs an array and allocates an initial chunk of memory. <a href="#ab58c4b2c09693190b43ee16e99722b43"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1array.html#a4e584fd375dd5f994b6bd7afd7f7a60c">array</a> (const <a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp;other)
106<dl class="el"><dd class="mdescRight">Copy constructor. <a href="#a4e584fd375dd5f994b6bd7afd7f7a60c"></a><br/></dl><li><a class="el" href="classirr_1_1core_1_1array.html#aac1853f45d4c18feaacac9859efe9836">~array</a> ()
107<dl class="el"><dd class="mdescRight">Destructor. <a href="#aac1853f45d4c18feaacac9859efe9836"></a><br/></dl><li><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> <a class="el" href="classirr_1_1core_1_1array.html#a2a15ea5df83792bce4366969d5b164c4">allocated_size</a> () const
108<dl class="el"><dd class="mdescRight">Get amount of memory allocated. <a href="#a2a15ea5df83792bce4366969d5b164c4"></a><br/></dl><li><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html#a35412f669b983eaaf3792b82966db24a">binary_search</a> (const T &amp;element)
109<dl class="el"><dd class="mdescRight">Performs a binary search for an element, returns -1 if not found. <a href="#a35412f669b983eaaf3792b82966db24a"></a><br/></dl><li><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html#af9cd0644165ab0d40f97799acd3f2c22">binary_search</a> (const T &amp;element) const
110<dl class="el"><dd class="mdescRight">Performs a binary search for an element if possible, returns -1 if not found. <a href="#af9cd0644165ab0d40f97799acd3f2c22"></a><br/></dl><li><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html#ae2f68111b6899a63454d2956ee58ba6c">binary_search</a> (const T &amp;element, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> left, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> right) const
111<dl class="el"><dd class="mdescRight">Performs a binary search for an element, returns -1 if not found. <a href="#ae2f68111b6899a63454d2956ee58ba6c"></a><br/></dl><li><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html#a62821cac92125dd76f96f21e60ca94a4">binary_search_multi</a> (const T &amp;element, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> &amp;last)
112<li>void <a class="el" href="classirr_1_1core_1_1array.html#a236e08ca44ddf3c2b47b726f90db8d39">clear</a> ()
113<dl class="el"><dd class="mdescRight">Clears the array and deletes all allocated memory. <a href="#a236e08ca44ddf3c2b47b726f90db8d39"></a><br/></dl><li>const T * <a class="el" href="classirr_1_1core_1_1array.html#a8bf5bc844936a56632038524942f89f1">const_pointer</a> () const
114<dl class="el"><dd class="mdescRight">Gets a const pointer to the array. <a href="#a8bf5bc844936a56632038524942f89f1"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1array.html#a1de2f5999968e104bf0ec6f057f097c2">empty</a> () const
115<dl class="el"><dd class="mdescRight">Check if array is empty. <a href="#a1de2f5999968e104bf0ec6f057f097c2"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#a5ba14e37dddaecd9c3e813a78c157dc8">erase</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> index)
116<dl class="el"><dd class="mdescRight">Erases an element from the array. <a href="#a5ba14e37dddaecd9c3e813a78c157dc8"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#ab9bb8cb0e6ebc4839fa2f7bc8e626800">erase</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> index, <a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> count)
117<dl class="el"><dd class="mdescRight">Erases some elements from the array. <a href="#ab9bb8cb0e6ebc4839fa2f7bc8e626800"></a><br/></dl><li>T &amp; <a class="el" href="classirr_1_1core_1_1array.html#ad87dc5db8bf6ec1033c945a0d3724e09">getLast</a> ()
118<dl class="el"><dd class="mdescRight">Gets last element. <a href="#ad87dc5db8bf6ec1033c945a0d3724e09"></a><br/></dl><li>const T &amp; <a class="el" href="classirr_1_1core_1_1array.html#ad531932175e210c17429878411490932">getLast</a> () const
119<dl class="el"><dd class="mdescRight">Gets last element. <a href="#ad531932175e210c17429878411490932"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#a3b0f73c95dd449a4de576c6b1943566c">insert</a> (const T &amp;element, <a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> index=0)
120<dl class="el"><dd class="mdescRight">Insert item into array at specified position. <a href="#a3b0f73c95dd449a4de576c6b1943566c"></a><br/></dl><li><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html#ac4a756f807ae06a74cc71cfd05dc22de">linear_reverse_search</a> (const T &amp;element) const
121<dl class="el"><dd class="mdescRight">Finds an element in linear time, which is very slow. <a href="#ac4a756f807ae06a74cc71cfd05dc22de"></a><br/></dl><li><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html#a06327f3b1a87117a57a617cbb7738beb">linear_search</a> (const T &amp;element) const
122<dl class="el"><dd class="mdescRight">Finds an element in linear time, which is very slow. <a href="#a06327f3b1a87117a57a617cbb7738beb"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1array.html#a20f435e8fabd821b66ef34227c1fceae">operator!=</a> (const <a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp;other) const
123<dl class="el"><dd class="mdescRight">Inequality operator. <a href="#a20f435e8fabd821b66ef34227c1fceae"></a><br/></dl><li>const <a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp; <a class="el" href="classirr_1_1core_1_1array.html#a51c964d180507ebdef872d93886c23b2">operator=</a> (const <a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp;other)
124<dl class="el"><dd class="mdescRight">Assignment operator. <a href="#a51c964d180507ebdef872d93886c23b2"></a><br/></dl><li>bool <a class="el" href="classirr_1_1core_1_1array.html#a718e705f3e3561c49ceee75afe0c3251">operator==</a> (const <a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp;other) const
125<dl class="el"><dd class="mdescRight">Equality operator. <a href="#a718e705f3e3561c49ceee75afe0c3251"></a><br/></dl><li>T &amp; <a class="el" href="classirr_1_1core_1_1array.html#a1e09dc5cc93e88fd3a37cad011b3b531">operator[]</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> index)
126<dl class="el"><dd class="mdescRight">Direct access operator. <a href="#a1e09dc5cc93e88fd3a37cad011b3b531"></a><br/></dl><li>const T &amp; <a class="el" href="classirr_1_1core_1_1array.html#a432981694ff74f416764bfbf71c76b4c">operator[]</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> index) const
127<dl class="el"><dd class="mdescRight">Direct const access operator. <a href="#a432981694ff74f416764bfbf71c76b4c"></a><br/></dl><li>T * <a class="el" href="classirr_1_1core_1_1array.html#a7b29797486e1c2ab3e7821082dab998c">pointer</a> ()
128<dl class="el"><dd class="mdescRight">Gets a pointer to the array. <a href="#a7b29797486e1c2ab3e7821082dab998c"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#ad2c9dff8592b95c25c59f5383fc633fe">push_back</a> (const T &amp;element)
129<dl class="el"><dd class="mdescRight">Adds an element at back of array. <a href="#ad2c9dff8592b95c25c59f5383fc633fe"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#a31b686ce4b1ebae930f22bc40d30efbd">push_front</a> (const T &amp;element)
130<dl class="el"><dd class="mdescRight">Adds an element at the front of the array. <a href="#a31b686ce4b1ebae930f22bc40d30efbd"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#ada5735f409eca82b9031d993ee8b31c3">reallocate</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> new_size, bool canShrink=true)
131<dl class="el"><dd class="mdescRight">Reallocates the array, make it bigger or smaller. <a href="#ada5735f409eca82b9031d993ee8b31c3"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#afddd43e25d3ad6b1a3d75ceab13e6c56">set_free_when_destroyed</a> (bool f)
132<dl class="el"><dd class="mdescRight">Sets if the array should delete the memory it uses upon destruction. <a href="#afddd43e25d3ad6b1a3d75ceab13e6c56"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#a75df5c46b08225d1ebe3c1381d85d9ff">set_pointer</a> (T *newPointer, <a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> size, bool _is_sorted=false, bool _free_when_destroyed=true)
133<dl class="el"><dd class="mdescRight">Sets pointer to new array, using this as new workspace. <a href="#a75df5c46b08225d1ebe3c1381d85d9ff"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#ab73d5838db931996f66f9efcc7127b49">set_sorted</a> (bool _is_sorted)
134<dl class="el"><dd class="mdescRight">Sets if the array is sorted. <a href="#ab73d5838db931996f66f9efcc7127b49"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#a64d70ab89f03e2ec4deae3b6c0161305">set_used</a> (<a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> usedNow)
135<dl class="el"><dd class="mdescRight">Sets the size of the array and allocates new elements if necessary. <a href="#a64d70ab89f03e2ec4deae3b6c0161305"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#a7aef3e5dbf91f8d1e8f365039e2497ae">setAllocStrategy</a> (<a class="el" href="namespaceirr_1_1core.html#aa2e91971d5e6e84de235bfabe3c7adba">eAllocStrategy</a> newStrategy=ALLOC_STRATEGY_DOUBLE)
136<dl class="el"><dd class="mdescRight">set a new allocation strategy <a href="#a7aef3e5dbf91f8d1e8f365039e2497ae"></a><br/></dl><li><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> <a class="el" href="classirr_1_1core_1_1array.html#abc592bab637d54799b6c86d6d0e8adf8">size</a> () const
137<dl class="el"><dd class="mdescRight">Get number of occupied elements of the array. <a href="#abc592bab637d54799b6c86d6d0e8adf8"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#a870e52dd57dd67a9d59e5ca5f82bca94">sort</a> ()
138<dl class="el"><dd class="mdescRight">Sorts the array using heapsort. <a href="#a870e52dd57dd67a9d59e5ca5f82bca94"></a><br/></dl><li>void <a class="el" href="classirr_1_1core_1_1array.html#a8857046f500a2990fc9930b204a3dbad">swap</a> (<a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp;other)
139<dl class="el"><dd class="mdescRight">Swap the content of this array container with the content of another array. <a href="#a8857046f500a2990fc9930b204a3dbad"></a><br/></dl></ul>
140<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
141<div class="textblock"><h3>template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt;<br/>
142class irr::core::array&lt; T, TAlloc &gt;</h3>
143
144<p>Self reallocating template array (like stl vector) with additional features. </p>
145<p>Some features are: Heap sorting, binary search methods, easier debugging. </p>
146
147<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00022">22</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
148</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
149<a class="anchor" id="a5e0dd817352068af92448a08716f1252"></a><!-- doxytag: member="irr::core::array::array" ref="a5e0dd817352068af92448a08716f1252" args="()" -->
150<div class="memitem">
151<div class="memproto">
152<div class="memtemplate">
153template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
154 <table class="memname">
155 <tr>
156 <td class="memname"><a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::<a class="el" href="classirr_1_1core_1_1array.html">array</a> </td>
157 <td>(</td>
158 <td class="paramname"></td><td>)</td>
159 <td><code> [inline]</code></td>
160 </tr>
161 </table>
162</div>
163<div class="memdoc">
164
165<p>Default constructor for empty array. </p>
166
167<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00028">28</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
168
169<p>Referenced by <a class="el" href="irr_string_8h_source.html#l00451">irr::core::string&lt; fschar_t &gt;::operator&lt;()</a>.</p>
170
171</div>
172</div>
173<a class="anchor" id="ab58c4b2c09693190b43ee16e99722b43"></a><!-- doxytag: member="irr::core::array::array" ref="ab58c4b2c09693190b43ee16e99722b43" args="(u32 start_count)" -->
174<div class="memitem">
175<div class="memproto">
176<div class="memtemplate">
177template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
178 <table class="memname">
179 <tr>
180 <td class="memname"><a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::<a class="el" href="classirr_1_1core_1_1array.html">array</a> </td>
181 <td>(</td>
182 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
183 <td class="paramname"><em>start_count</em></td><td>)</td>
184 <td><code> [inline]</code></td>
185 </tr>
186 </table>
187</div>
188<div class="memdoc">
189
190<p>Constructs an array and allocates an initial chunk of memory. </p>
191<dl><dt><b>Parameters:</b></dt><dd>
192 <table class="params">
193 <tr><td class="paramname">start_count</td><td>Amount of elements to pre-allocate. </td></tr>
194 </table>
195 </dd>
196</dl>
197
198<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00037">37</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
199
200</div>
201</div>
202<a class="anchor" id="a4e584fd375dd5f994b6bd7afd7f7a60c"></a><!-- doxytag: member="irr::core::array::array" ref="a4e584fd375dd5f994b6bd7afd7f7a60c" args="(const array&lt; T, TAlloc &gt; &amp;other)" -->
203<div class="memitem">
204<div class="memproto">
205<div class="memtemplate">
206template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
207 <table class="memname">
208 <tr>
209 <td class="memname"><a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::<a class="el" href="classirr_1_1core_1_1array.html">array</a> </td>
210 <td>(</td>
211 <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp;&#160;</td>
212 <td class="paramname"><em>other</em></td><td>)</td>
213 <td><code> [inline]</code></td>
214 </tr>
215 </table>
216</div>
217<div class="memdoc">
218
219<p>Copy constructor. </p>
220
221<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00046">46</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
222
223</div>
224</div>
225<a class="anchor" id="aac1853f45d4c18feaacac9859efe9836"></a><!-- doxytag: member="irr::core::array::~array" ref="aac1853f45d4c18feaacac9859efe9836" args="()" -->
226<div class="memitem">
227<div class="memproto">
228<div class="memtemplate">
229template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
230 <table class="memname">
231 <tr>
232 <td class="memname"><a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::~<a class="el" href="classirr_1_1core_1_1array.html">array</a> </td>
233 <td>(</td>
234 <td class="paramname"></td><td>)</td>
235 <td><code> [inline]</code></td>
236 </tr>
237 </table>
238</div>
239<div class="memdoc">
240
241<p>Destructor. </p>
242<p>Frees allocated memory, if set_free_when_destroyed was not set to false by the user before. </p>
243
244<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00055">55</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
245
246</div>
247</div>
248<hr/><h2>Member Function Documentation</h2>
249<a class="anchor" id="a2a15ea5df83792bce4366969d5b164c4"></a><!-- doxytag: member="irr::core::array::allocated_size" ref="a2a15ea5df83792bce4366969d5b164c4" args="() const " -->
250<div class="memitem">
251<div class="memproto">
252<div class="memtemplate">
253template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
254 <table class="memname">
255 <tr>
256 <td class="memname"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::allocated_size </td>
257 <td>(</td>
258 <td class="paramname"></td><td>)</td>
259 <td> const<code> [inline]</code></td>
260 </tr>
261 </table>
262</div>
263<div class="memdoc">
264
265<p>Get amount of memory allocated. </p>
266<dl class="return"><dt><b>Returns:</b></dt><dd>Amount of memory allocated. The amount of bytes allocated would be <a class="el" href="classirr_1_1core_1_1array.html#a2a15ea5df83792bce4366969d5b164c4" title="Get amount of memory allocated.">allocated_size()</a> * sizeof(ElementTypeUsed); </dd></dl>
267
268<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00377">377</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
269
270<p>Referenced by <a class="el" href="_i_animated_mesh_m_d3_8h_source.html#l00227">irr::scene::SMD3QuaternionTagList::set_used()</a>.</p>
271
272</div>
273</div>
274<a class="anchor" id="a35412f669b983eaaf3792b82966db24a"></a><!-- doxytag: member="irr::core::array::binary_search" ref="a35412f669b983eaaf3792b82966db24a" args="(const T &amp;element)" -->
275<div class="memitem">
276<div class="memproto">
277<div class="memtemplate">
278template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
279 <table class="memname">
280 <tr>
281 <td class="memname"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::binary_search </td>
282 <td>(</td>
283 <td class="paramtype">const T &amp;&#160;</td>
284 <td class="paramname"><em>element</em></td><td>)</td>
285 <td><code> [inline]</code></td>
286 </tr>
287 </table>
288</div>
289<div class="memdoc">
290
291<p>Performs a binary search for an element, returns -1 if not found. </p>
292<p>The array will be sorted before the binary search if it is not already sorted. Caution is advised! Be careful not to call this on unsorted const arrays, or the slower method will be used. </p>
293<dl><dt><b>Parameters:</b></dt><dd>
294 <table class="params">
295 <tr><td class="paramname">element</td><td>Element to search for. </td></tr>
296 </table>
297 </dd>
298</dl>
299<dl class="return"><dt><b>Returns:</b></dt><dd>Position of the searched element if it was found, otherwise -1 is returned. </dd></dl>
300
301<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00409">409</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
302
303<p>Referenced by <a class="el" href="irr_array_8h_source.html#l00409">irr::core::array&lt; IMesh * &gt;::binary_search()</a>, and <a class="el" href="irr_array_8h_source.html#l00475">irr::core::array&lt; IMesh * &gt;::binary_search_multi()</a>.</p>
304
305</div>
306</div>
307<a class="anchor" id="af9cd0644165ab0d40f97799acd3f2c22"></a><!-- doxytag: member="irr::core::array::binary_search" ref="af9cd0644165ab0d40f97799acd3f2c22" args="(const T &amp;element) const " -->
308<div class="memitem">
309<div class="memproto">
310<div class="memtemplate">
311template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
312 <table class="memname">
313 <tr>
314 <td class="memname"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::binary_search </td>
315 <td>(</td>
316 <td class="paramtype">const T &amp;&#160;</td>
317 <td class="paramname"><em>element</em></td><td>)</td>
318 <td> const<code> [inline]</code></td>
319 </tr>
320 </table>
321</div>
322<div class="memdoc">
323
324<p>Performs a binary search for an element if possible, returns -1 if not found. </p>
325<p>This method is for const arrays and so cannot call <a class="el" href="classirr_1_1core_1_1array.html#a870e52dd57dd67a9d59e5ca5f82bca94" title="Sorts the array using heapsort.">sort()</a>, if the array is not sorted then linear_search will be used instead. Potentially very slow! </p>
326<dl><dt><b>Parameters:</b></dt><dd>
327 <table class="params">
328 <tr><td class="paramname">element</td><td>Element to search for. </td></tr>
329 </table>
330 </dd>
331</dl>
332<dl class="return"><dt><b>Returns:</b></dt><dd>Position of the searched element if it was found, otherwise -1 is returned. </dd></dl>
333
334<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00422">422</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
335
336</div>
337</div>
338<a class="anchor" id="ae2f68111b6899a63454d2956ee58ba6c"></a><!-- doxytag: member="irr::core::array::binary_search" ref="ae2f68111b6899a63454d2956ee58ba6c" args="(const T &amp;element, s32 left, s32 right) const " -->
339<div class="memitem">
340<div class="memproto">
341<div class="memtemplate">
342template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
343 <table class="memname">
344 <tr>
345 <td class="memname"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::binary_search </td>
346 <td>(</td>
347 <td class="paramtype">const T &amp;&#160;</td>
348 <td class="paramname"><em>element</em>, </td>
349 </tr>
350 <tr>
351 <td class="paramkey"></td>
352 <td></td>
353 <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
354 <td class="paramname"><em>left</em>, </td>
355 </tr>
356 <tr>
357 <td class="paramkey"></td>
358 <td></td>
359 <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
360 <td class="paramname"><em>right</em>&#160;</td>
361 </tr>
362 <tr>
363 <td></td>
364 <td>)</td>
365 <td></td><td> const<code> [inline]</code></td>
366 </tr>
367 </table>
368</div>
369<div class="memdoc">
370
371<p>Performs a binary search for an element, returns -1 if not found. </p>
372<dl><dt><b>Parameters:</b></dt><dd>
373 <table class="params">
374 <tr><td class="paramname">element,:</td><td>Element to search for. </td></tr>
375 <tr><td class="paramname">left</td><td>First left index </td></tr>
376 <tr><td class="paramname">right</td><td>Last right index. </td></tr>
377 </table>
378 </dd>
379</dl>
380<dl class="return"><dt><b>Returns:</b></dt><dd>Position of the searched element if it was found, otherwise -1 is returned. </dd></dl>
381
382<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00437">437</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
383
384</div>
385</div>
386<a class="anchor" id="a62821cac92125dd76f96f21e60ca94a4"></a><!-- doxytag: member="irr::core::array::binary_search_multi" ref="a62821cac92125dd76f96f21e60ca94a4" args="(const T &amp;element, s32 &amp;last)" -->
387<div class="memitem">
388<div class="memproto">
389<div class="memtemplate">
390template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
391 <table class="memname">
392 <tr>
393 <td class="memname"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::binary_search_multi </td>
394 <td>(</td>
395 <td class="paramtype">const T &amp;&#160;</td>
396 <td class="paramname"><em>element</em>, </td>
397 </tr>
398 <tr>
399 <td class="paramkey"></td>
400 <td></td>
401 <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> &amp;&#160;</td>
402 <td class="paramname"><em>last</em>&#160;</td>
403 </tr>
404 <tr>
405 <td></td>
406 <td>)</td>
407 <td></td><td><code> [inline]</code></td>
408 </tr>
409 </table>
410</div>
411<div class="memdoc">
412<p>Performs a binary search for an element, returns -1 if not found. it is used for searching a multiset The array will be sorted before the binary search if it is not already sorted. </p>
413<dl><dt><b>Parameters:</b></dt><dd>
414 <table class="params">
415 <tr><td class="paramname">element</td><td>Element to search for. </td></tr>
416 <tr><td class="paramname">&amp;last</td><td>return lastIndex of equal elements </td></tr>
417 </table>
418 </dd>
419</dl>
420<dl class="return"><dt><b>Returns:</b></dt><dd>Position of the first searched element if it was found, otherwise -1 is returned. </dd></dl>
421
422<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00475">475</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
423
424</div>
425</div>
426<a class="anchor" id="a236e08ca44ddf3c2b47b726f90db8d39"></a><!-- doxytag: member="irr::core::array::clear" ref="a236e08ca44ddf3c2b47b726f90db8d39" args="()" -->
427<div class="memitem">
428<div class="memproto">
429<div class="memtemplate">
430template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
431 <table class="memname">
432 <tr>
433 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::clear </td>
434 <td>(</td>
435 <td class="paramname"></td><td>)</td>
436 <td><code> [inline]</code></td>
437 </tr>
438 </table>
439</div>
440<div class="memdoc">
441
442<p>Clears the array and deletes all allocated memory. </p>
443
444<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00203">203</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
445
446<p>Referenced by <a class="el" href="_s_mesh_8h_source.html#l00037">irr::scene::SMesh::clear()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00193">irr::scene::SSkinMeshBuffer::convertTo2TCoords()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00212">irr::scene::SSkinMeshBuffer::convertToTangents()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00130">irr::scene::quake3::getAsStringList()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00770">irr::scene::quake3::getTextures()</a>, <a class="el" href="irr_array_8h_source.html#l00267">irr::core::array&lt; IMesh * &gt;::operator=()</a>, <a class="el" href="irr_array_8h_source.html#l00228">irr::core::array&lt; IMesh * &gt;::set_pointer()</a>, and <a class="el" href="irr_array_8h_source.html#l00055">irr::core::array&lt; IMesh * &gt;::~array()</a>.</p>
447
448</div>
449</div>
450<a class="anchor" id="a8bf5bc844936a56632038524942f89f1"></a><!-- doxytag: member="irr::core::array::const_pointer" ref="a8bf5bc844936a56632038524942f89f1" args="() const " -->
451<div class="memitem">
452<div class="memproto">
453<div class="memtemplate">
454template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
455 <table class="memname">
456 <tr>
457 <td class="memname">const T* <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::const_pointer </td>
458 <td>(</td>
459 <td class="paramname"></td><td>)</td>
460 <td> const<code> [inline]</code></td>
461 </tr>
462 </table>
463</div>
464<div class="memdoc">
465
466<p>Gets a const pointer to the array. </p>
467<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the array. </dd></dl>
468
469<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00360">360</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
470
471<p>Referenced by <a class="el" href="_s_shared_mesh_buffer_8h_source.html#l00074">irr::scene::SSharedMeshBuffer::getIndices()</a>, <a class="el" href="_c_mesh_buffer_8h_source.html#l00077">irr::scene::CMeshBuffer&lt; T &gt;::getIndices()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00108">irr::scene::SSkinMeshBuffer::getIndices()</a>, <a class="el" href="_c_mesh_buffer_8h_source.html#l00047">irr::scene::CMeshBuffer&lt; T &gt;::getVertices()</a>, <a class="el" href="_s_shared_mesh_buffer_8h_source.html#l00047">irr::scene::SSharedMeshBuffer::getVertices()</a>, and <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00059">irr::scene::SSkinMeshBuffer::getVertices()</a>.</p>
472
473</div>
474</div>
475<a class="anchor" id="a1de2f5999968e104bf0ec6f057f097c2"></a><!-- doxytag: member="irr::core::array::empty" ref="a1de2f5999968e104bf0ec6f057f097c2" args="() const " -->
476<div class="memitem">
477<div class="memproto">
478<div class="memtemplate">
479template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
480 <table class="memname">
481 <tr>
482 <td class="memname">bool <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::empty </td>
483 <td>(</td>
484 <td class="paramname"></td><td>)</td>
485 <td> const<code> [inline]</code></td>
486 </tr>
487 </table>
488</div>
489<div class="memdoc">
490
491<p>Check if array is empty. </p>
492<dl class="return"><dt><b>Returns:</b></dt><dd>True if the array is empty false if not. </dd></dl>
493
494<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00385">385</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
495
496<p>Referenced by <a class="el" href="_s_animated_mesh_8h_source.html#l00069">irr::scene::SAnimatedMesh::getMesh()</a>, <a class="el" href="_s_animated_mesh_8h_source.html#l00130">irr::scene::SAnimatedMesh::getMeshBuffer()</a>, <a class="el" href="_s_animated_mesh_8h_source.html#l00121">irr::scene::SAnimatedMesh::getMeshBufferCount()</a>, <a class="el" href="_s_animated_mesh_8h_source.html#l00101">irr::scene::SAnimatedMesh::recalculateBoundingBox()</a>, <a class="el" href="_s_shared_mesh_buffer_8h_source.html#l00116">irr::scene::SSharedMeshBuffer::recalculateBoundingBox()</a>, <a class="el" href="_c_mesh_buffer_8h_source.html#l00118">irr::scene::CMeshBuffer&lt; T &gt;::recalculateBoundingBox()</a>, and <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00138">irr::scene::SSkinMeshBuffer::recalculateBoundingBox()</a>.</p>
497
498</div>
499</div>
500<a class="anchor" id="a5ba14e37dddaecd9c3e813a78c157dc8"></a><!-- doxytag: member="irr::core::array::erase" ref="a5ba14e37dddaecd9c3e813a78c157dc8" args="(u32 index)" -->
501<div class="memitem">
502<div class="memproto">
503<div class="memtemplate">
504template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
505 <table class="memname">
506 <tr>
507 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::erase </td>
508 <td>(</td>
509 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
510 <td class="paramname"><em>index</em></td><td>)</td>
511 <td><code> [inline]</code></td>
512 </tr>
513 </table>
514</div>
515<div class="memdoc">
516
517<p>Erases an element from the array. </p>
518<p>May be slow, because all elements following after the erased element have to be copied. </p>
519<dl><dt><b>Parameters:</b></dt><dd>
520 <table class="params">
521 <tr><td class="paramname">index,:</td><td>Index of element to be erased. </td></tr>
522 </table>
523 </dd>
524</dl>
525
526<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00536">536</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
527
528</div>
529</div>
530<a class="anchor" id="ab9bb8cb0e6ebc4839fa2f7bc8e626800"></a><!-- doxytag: member="irr::core::array::erase" ref="ab9bb8cb0e6ebc4839fa2f7bc8e626800" args="(u32 index, s32 count)" -->
531<div class="memitem">
532<div class="memproto">
533<div class="memtemplate">
534template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
535 <table class="memname">
536 <tr>
537 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::erase </td>
538 <td>(</td>
539 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
540 <td class="paramname"><em>index</em>, </td>
541 </tr>
542 <tr>
543 <td class="paramkey"></td>
544 <td></td>
545 <td class="paramtype"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a>&#160;</td>
546 <td class="paramname"><em>count</em>&#160;</td>
547 </tr>
548 <tr>
549 <td></td>
550 <td>)</td>
551 <td></td><td><code> [inline]</code></td>
552 </tr>
553 </table>
554</div>
555<div class="memdoc">
556
557<p>Erases some elements from the array. </p>
558<p>May be slow, because all elements following after the erased element have to be copied. </p>
559<dl><dt><b>Parameters:</b></dt><dd>
560 <table class="params">
561 <tr><td class="paramname">index,:</td><td>Index of the first element to be erased. </td></tr>
562 <tr><td class="paramname">count,:</td><td>Amount of elements to be erased. </td></tr>
563 </table>
564 </dd>
565</dl>
566
567<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00557">557</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
568
569</div>
570</div>
571<a class="anchor" id="ad87dc5db8bf6ec1033c945a0d3724e09"></a><!-- doxytag: member="irr::core::array::getLast" ref="ad87dc5db8bf6ec1033c945a0d3724e09" args="()" -->
572<div class="memitem">
573<div class="memproto">
574<div class="memtemplate">
575template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
576 <table class="memname">
577 <tr>
578 <td class="memname">T&amp; <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::getLast </td>
579 <td>(</td>
580 <td class="paramname"></td><td>)</td>
581 <td><code> [inline]</code></td>
582 </tr>
583 </table>
584</div>
585<div class="memdoc">
586
587<p>Gets last element. </p>
588
589<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00333">333</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
590
591</div>
592</div>
593<a class="anchor" id="ad531932175e210c17429878411490932"></a><!-- doxytag: member="irr::core::array::getLast" ref="ad531932175e210c17429878411490932" args="() const " -->
594<div class="memitem">
595<div class="memproto">
596<div class="memtemplate">
597template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
598 <table class="memname">
599 <tr>
600 <td class="memname">const T&amp; <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::getLast </td>
601 <td>(</td>
602 <td class="paramname"></td><td>)</td>
603 <td> const<code> [inline]</code></td>
604 </tr>
605 </table>
606</div>
607<div class="memdoc">
608
609<p>Gets last element. </p>
610
611<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00342">342</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
612
613</div>
614</div>
615<a class="anchor" id="a3b0f73c95dd449a4de576c6b1943566c"></a><!-- doxytag: member="irr::core::array::insert" ref="a3b0f73c95dd449a4de576c6b1943566c" args="(const T &amp;element, u32 index=0)" -->
616<div class="memitem">
617<div class="memproto">
618<div class="memtemplate">
619template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
620 <table class="memname">
621 <tr>
622 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::insert </td>
623 <td>(</td>
624 <td class="paramtype">const T &amp;&#160;</td>
625 <td class="paramname"><em>element</em>, </td>
626 </tr>
627 <tr>
628 <td class="paramkey"></td>
629 <td></td>
630 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
631 <td class="paramname"><em>index</em> = <code>0</code>&#160;</td>
632 </tr>
633 <tr>
634 <td></td>
635 <td>)</td>
636 <td></td><td><code> [inline]</code></td>
637 </tr>
638 </table>
639</div>
640<div class="memdoc">
641
642<p>Insert item into array at specified position. </p>
643<p>Please use this only if you know what you are doing (possible performance loss). The preferred method of adding elements should be <a class="el" href="classirr_1_1core_1_1array.html#ad2c9dff8592b95c25c59f5383fc633fe" title="Adds an element at back of array.">push_back()</a>. </p>
644<dl><dt><b>Parameters:</b></dt><dd>
645 <table class="params">
646 <tr><td class="paramname">element,:</td><td>Element to be inserted </td></tr>
647 <tr><td class="paramname">index,:</td><td>Where position to insert the new element. </td></tr>
648 </table>
649 </dd>
650</dl>
651
652<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00135">135</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
653
654<p>Referenced by <a class="el" href="irr_array_8h_source.html#l00112">irr::core::array&lt; IMesh * &gt;::push_back()</a>, and <a class="el" href="irr_array_8h_source.html#l00123">irr::core::array&lt; IMesh * &gt;::push_front()</a>.</p>
655
656</div>
657</div>
658<a class="anchor" id="ac4a756f807ae06a74cc71cfd05dc22de"></a><!-- doxytag: member="irr::core::array::linear_reverse_search" ref="ac4a756f807ae06a74cc71cfd05dc22de" args="(const T &amp;element) const " -->
659<div class="memitem">
660<div class="memproto">
661<div class="memtemplate">
662template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
663 <table class="memname">
664 <tr>
665 <td class="memname"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::linear_reverse_search </td>
666 <td>(</td>
667 <td class="paramtype">const T &amp;&#160;</td>
668 <td class="paramname"><em>element</em></td><td>)</td>
669 <td> const<code> [inline]</code></td>
670 </tr>
671 </table>
672</div>
673<div class="memdoc">
674
675<p>Finds an element in linear time, which is very slow. </p>
676<p>Use binary_search for faster finding. Only works if ==operator is implemented. </p>
677<dl><dt><b>Parameters:</b></dt><dd>
678 <table class="params">
679 <tr><td class="paramname">element,:</td><td>Element to search for. </td></tr>
680 </table>
681 </dd>
682</dl>
683<dl class="return"><dt><b>Returns:</b></dt><dd>Position of the searched element if it was found, otherwise -1 is returned. </dd></dl>
684
685<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00522">522</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
686
687</div>
688</div>
689<a class="anchor" id="a06327f3b1a87117a57a617cbb7738beb"></a><!-- doxytag: member="irr::core::array::linear_search" ref="a06327f3b1a87117a57a617cbb7738beb" args="(const T &amp;element) const " -->
690<div class="memitem">
691<div class="memproto">
692<div class="memtemplate">
693template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
694 <table class="memname">
695 <tr>
696 <td class="memname"><a class="el" href="namespaceirr.html#ac66849b7a6ed16e30ebede579f9b47c6">s32</a> <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::linear_search </td>
697 <td>(</td>
698 <td class="paramtype">const T &amp;&#160;</td>
699 <td class="paramname"><em>element</em></td><td>)</td>
700 <td> const<code> [inline]</code></td>
701 </tr>
702 </table>
703</div>
704<div class="memdoc">
705
706<p>Finds an element in linear time, which is very slow. </p>
707<p>Use binary_search for faster finding. Only works if ==operator is implemented. </p>
708<dl><dt><b>Parameters:</b></dt><dd>
709 <table class="params">
710 <tr><td class="paramname">element</td><td>Element to search for. </td></tr>
711 </table>
712 </dd>
713</dl>
714<dl class="return"><dt><b>Returns:</b></dt><dd>Position of the searched element if it was found, otherwise -1 is returned. </dd></dl>
715
716<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00506">506</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
717
718<p>Referenced by <a class="el" href="irr_array_8h_source.html#l00422">irr::core::array&lt; IMesh * &gt;::binary_search()</a>, <a class="el" href="_i_animated_mesh_m_d3_8h_source.html#l00213">irr::scene::SMD3QuaternionTagList::get()</a>, and <a class="el" href="_i_q3_shader_8h_source.html#l00596">irr::scene::quake3::SVarGroup::get()</a>.</p>
719
720</div>
721</div>
722<a class="anchor" id="a20f435e8fabd821b66ef34227c1fceae"></a><!-- doxytag: member="irr::core::array::operator!=" ref="a20f435e8fabd821b66ef34227c1fceae" args="(const array&lt; T, TAlloc &gt; &amp;other) const " -->
723<div class="memitem">
724<div class="memproto">
725<div class="memtemplate">
726template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
727 <table class="memname">
728 <tr>
729 <td class="memname">bool <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::operator!= </td>
730 <td>(</td>
731 <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp;&#160;</td>
732 <td class="paramname"><em>other</em></td><td>)</td>
733 <td> const<code> [inline]</code></td>
734 </tr>
735 </table>
736</div>
737<div class="memdoc">
738
739<p>Inequality operator. </p>
740
741<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00308">308</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
742
743</div>
744</div>
745<a class="anchor" id="a51c964d180507ebdef872d93886c23b2"></a><!-- doxytag: member="irr::core::array::operator=" ref="a51c964d180507ebdef872d93886c23b2" args="(const array&lt; T, TAlloc &gt; &amp;other)" -->
746<div class="memitem">
747<div class="memproto">
748<div class="memtemplate">
749template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
750 <table class="memname">
751 <tr>
752 <td class="memname">const <a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt;T, TAlloc&gt;&amp; <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::operator= </td>
753 <td>(</td>
754 <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp;&#160;</td>
755 <td class="paramname"><em>other</em></td><td>)</td>
756 <td><code> [inline]</code></td>
757 </tr>
758 </table>
759</div>
760<div class="memdoc">
761
762<p>Assignment operator. </p>
763
764<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00267">267</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
765
766</div>
767</div>
768<a class="anchor" id="a718e705f3e3561c49ceee75afe0c3251"></a><!-- doxytag: member="irr::core::array::operator==" ref="a718e705f3e3561c49ceee75afe0c3251" args="(const array&lt; T, TAlloc &gt; &amp;other) const " -->
769<div class="memitem">
770<div class="memproto">
771<div class="memtemplate">
772template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
773 <table class="memname">
774 <tr>
775 <td class="memname">bool <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::operator== </td>
776 <td>(</td>
777 <td class="paramtype">const <a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp;&#160;</td>
778 <td class="paramname"><em>other</em></td><td>)</td>
779 <td> const<code> [inline]</code></td>
780 </tr>
781 </table>
782</div>
783<div class="memdoc">
784
785<p>Equality operator. </p>
786
787<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00295">295</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
788
789</div>
790</div>
791<a class="anchor" id="a1e09dc5cc93e88fd3a37cad011b3b531"></a><!-- doxytag: member="irr::core::array::operator[]" ref="a1e09dc5cc93e88fd3a37cad011b3b531" args="(u32 index)" -->
792<div class="memitem">
793<div class="memproto">
794<div class="memtemplate">
795template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
796 <table class="memname">
797 <tr>
798 <td class="memname">T&amp; <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::operator[] </td>
799 <td>(</td>
800 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
801 <td class="paramname"><em>index</em></td><td>)</td>
802 <td><code> [inline]</code></td>
803 </tr>
804 </table>
805</div>
806<div class="memdoc">
807
808<p>Direct access operator. </p>
809
810<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00315">315</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
811
812</div>
813</div>
814<a class="anchor" id="a432981694ff74f416764bfbf71c76b4c"></a><!-- doxytag: member="irr::core::array::operator[]" ref="a432981694ff74f416764bfbf71c76b4c" args="(u32 index) const " -->
815<div class="memitem">
816<div class="memproto">
817<div class="memtemplate">
818template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
819 <table class="memname">
820 <tr>
821 <td class="memname">const T&amp; <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::operator[] </td>
822 <td>(</td>
823 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
824 <td class="paramname"><em>index</em></td><td>)</td>
825 <td> const<code> [inline]</code></td>
826 </tr>
827 </table>
828</div>
829<div class="memdoc">
830
831<p>Direct const access operator. </p>
832
833<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00324">324</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
834
835</div>
836</div>
837<a class="anchor" id="a7b29797486e1c2ab3e7821082dab998c"></a><!-- doxytag: member="irr::core::array::pointer" ref="a7b29797486e1c2ab3e7821082dab998c" args="()" -->
838<div class="memitem">
839<div class="memproto">
840<div class="memtemplate">
841template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
842 <table class="memname">
843 <tr>
844 <td class="memname">T* <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::pointer </td>
845 <td>(</td>
846 <td class="paramname"></td><td>)</td>
847 <td><code> [inline]</code></td>
848 </tr>
849 </table>
850</div>
851<div class="memdoc">
852
853<p>Gets a pointer to the array. </p>
854<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to the array. </dd></dl>
855
856<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00352">352</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
857
858<p>Referenced by <a class="el" href="_s_shared_mesh_buffer_8h_source.html#l00080">irr::scene::SSharedMeshBuffer::getIndices()</a>, <a class="el" href="_c_mesh_buffer_8h_source.html#l00085">irr::scene::CMeshBuffer&lt; T &gt;::getIndices()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00114">irr::scene::SSkinMeshBuffer::getIndices()</a>, <a class="el" href="_c_mesh_buffer_8h_source.html#l00055">irr::scene::CMeshBuffer&lt; T &gt;::getVertices()</a>, <a class="el" href="_s_shared_mesh_buffer_8h_source.html#l00056">irr::scene::SSharedMeshBuffer::getVertices()</a>, and <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00073">irr::scene::SSkinMeshBuffer::getVertices()</a>.</p>
859
860</div>
861</div>
862<a class="anchor" id="ad2c9dff8592b95c25c59f5383fc633fe"></a><!-- doxytag: member="irr::core::array::push_back" ref="ad2c9dff8592b95c25c59f5383fc633fe" args="(const T &amp;element)" -->
863<div class="memitem">
864<div class="memproto">
865<div class="memtemplate">
866template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
867 <table class="memname">
868 <tr>
869 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::push_back </td>
870 <td>(</td>
871 <td class="paramtype">const T &amp;&#160;</td>
872 <td class="paramname"><em>element</em></td><td>)</td>
873 <td><code> [inline]</code></td>
874 </tr>
875 </table>
876</div>
877<div class="memdoc">
878
879<p>Adds an element at back of array. </p>
880<p>If the array is too small to add this new element it is made bigger. </p>
881<dl><dt><b>Parameters:</b></dt><dd>
882 <table class="params">
883 <tr><td class="paramname">element,:</td><td>Element to add at the back of the array. </td></tr>
884 </table>
885 </dd>
886</dl>
887
888<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00112">112</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
889
890<p>Referenced by <a class="el" href="_s_animated_mesh_8h_source.html#l00078">irr::scene::SAnimatedMesh::addMesh()</a>, <a class="el" href="_s_mesh_8h_source.html#l00098">irr::scene::SMesh::addMeshBuffer()</a>, <a class="el" href="_c_mesh_buffer_8h_source.html#l00180">irr::scene::CMeshBuffer&lt; T &gt;::append()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00193">irr::scene::SSkinMeshBuffer::convertTo2TCoords()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00212">irr::scene::SSkinMeshBuffer::convertToTangents()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00130">irr::scene::quake3::getAsStringList()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00770">irr::scene::quake3::getTextures()</a>, <a class="el" href="_i_animated_mesh_m_d3_8h_source.html#l00248">irr::scene::SMD3QuaternionTagList::push_back()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00607">irr::scene::quake3::SVarGroup::set()</a>, <a class="el" href="_i_animated_mesh_m_d3_8h_source.html#l00227">irr::scene::SMD3QuaternionTagList::set_used()</a>, and <a class="el" href="irr_string_8h_source.html#l01298">irr::core::string&lt; fschar_t &gt;::split()</a>.</p>
891
892</div>
893</div>
894<a class="anchor" id="a31b686ce4b1ebae930f22bc40d30efbd"></a><!-- doxytag: member="irr::core::array::push_front" ref="a31b686ce4b1ebae930f22bc40d30efbd" args="(const T &amp;element)" -->
895<div class="memitem">
896<div class="memproto">
897<div class="memtemplate">
898template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
899 <table class="memname">
900 <tr>
901 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::push_front </td>
902 <td>(</td>
903 <td class="paramtype">const T &amp;&#160;</td>
904 <td class="paramname"><em>element</em></td><td>)</td>
905 <td><code> [inline]</code></td>
906 </tr>
907 </table>
908</div>
909<div class="memdoc">
910
911<p>Adds an element at the front of the array. </p>
912<p>If the array is to small to add this new element, the array is made bigger. Please note that this is slow, because the whole array needs to be copied for this. </p>
913<dl><dt><b>Parameters:</b></dt><dd>
914 <table class="params">
915 <tr><td class="paramname">element</td><td>Element to add at the back of the array. </td></tr>
916 </table>
917 </dd>
918</dl>
919
920<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00123">123</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
921
922</div>
923</div>
924<a class="anchor" id="ada5735f409eca82b9031d993ee8b31c3"></a><!-- doxytag: member="irr::core::array::reallocate" ref="ada5735f409eca82b9031d993ee8b31c3" args="(u32 new_size, bool canShrink=true)" -->
925<div class="memitem">
926<div class="memproto">
927<div class="memtemplate">
928template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
929 <table class="memname">
930 <tr>
931 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::reallocate </td>
932 <td>(</td>
933 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
934 <td class="paramname"><em>new_size</em>, </td>
935 </tr>
936 <tr>
937 <td class="paramkey"></td>
938 <td></td>
939 <td class="paramtype">bool&#160;</td>
940 <td class="paramname"><em>canShrink</em> = <code>true</code>&#160;</td>
941 </tr>
942 <tr>
943 <td></td>
944 <td>)</td>
945 <td></td><td><code> [inline]</code></td>
946 </tr>
947 </table>
948</div>
949<div class="memdoc">
950
951<p>Reallocates the array, make it bigger or smaller. </p>
952<dl><dt><b>Parameters:</b></dt><dd>
953 <table class="params">
954 <tr><td class="paramname">new_size</td><td>New size of array. </td></tr>
955 <tr><td class="paramname">canShrink</td><td>Specifies whether the array is reallocated even if enough space is available. Setting this flag to false can speed up array usage, but may use more memory than required by the data. </td></tr>
956 </table>
957 </dd>
958</dl>
959
960<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00067">67</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
961
962<p>Referenced by <a class="el" href="_c_mesh_buffer_8h_source.html#l00180">irr::scene::CMeshBuffer&lt; T &gt;::append()</a>, <a class="el" href="irr_array_8h_source.html#l00037">irr::core::array&lt; IMesh * &gt;::array()</a>, <a class="el" href="irr_array_8h_source.html#l00135">irr::core::array&lt; IMesh * &gt;::insert()</a>, and <a class="el" href="irr_array_8h_source.html#l00257">irr::core::array&lt; IMesh * &gt;::set_used()</a>.</p>
963
964</div>
965</div>
966<a class="anchor" id="afddd43e25d3ad6b1a3d75ceab13e6c56"></a><!-- doxytag: member="irr::core::array::set_free_when_destroyed" ref="afddd43e25d3ad6b1a3d75ceab13e6c56" args="(bool f)" -->
967<div class="memitem">
968<div class="memproto">
969<div class="memtemplate">
970template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
971 <table class="memname">
972 <tr>
973 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::set_free_when_destroyed </td>
974 <td>(</td>
975 <td class="paramtype">bool&#160;</td>
976 <td class="paramname"><em>f</em></td><td>)</td>
977 <td><code> [inline]</code></td>
978 </tr>
979 </table>
980</div>
981<div class="memdoc">
982
983<p>Sets if the array should delete the memory it uses upon destruction. </p>
984<p>Also clear and set_pointer will only delete the (original) memory area if this flag is set to true, which is also the default. The methods reallocate, set_used, push_back, push_front, insert, and erase will still try to deallocate the original memory, which might cause troubles depending on the intended use of the memory area. </p>
985<dl><dt><b>Parameters:</b></dt><dd>
986 <table class="params">
987 <tr><td class="paramname">f</td><td>If true, the array frees the allocated memory in its destructor, otherwise not. The default is true. </td></tr>
988 </table>
989 </dd>
990</dl>
991
992<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00247">247</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
993
994</div>
995</div>
996<a class="anchor" id="a75df5c46b08225d1ebe3c1381d85d9ff"></a><!-- doxytag: member="irr::core::array::set_pointer" ref="a75df5c46b08225d1ebe3c1381d85d9ff" args="(T *newPointer, u32 size, bool _is_sorted=false, bool _free_when_destroyed=true)" -->
997<div class="memitem">
998<div class="memproto">
999<div class="memtemplate">
1000template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
1001 <table class="memname">
1002 <tr>
1003 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::set_pointer </td>
1004 <td>(</td>
1005 <td class="paramtype">T *&#160;</td>
1006 <td class="paramname"><em>newPointer</em>, </td>
1007 </tr>
1008 <tr>
1009 <td class="paramkey"></td>
1010 <td></td>
1011 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
1012 <td class="paramname"><em>size</em>, </td>
1013 </tr>
1014 <tr>
1015 <td class="paramkey"></td>
1016 <td></td>
1017 <td class="paramtype">bool&#160;</td>
1018 <td class="paramname"><em>_is_sorted</em> = <code>false</code>, </td>
1019 </tr>
1020 <tr>
1021 <td class="paramkey"></td>
1022 <td></td>
1023 <td class="paramtype">bool&#160;</td>
1024 <td class="paramname"><em>_free_when_destroyed</em> = <code>true</code>&#160;</td>
1025 </tr>
1026 <tr>
1027 <td></td>
1028 <td>)</td>
1029 <td></td><td><code> [inline]</code></td>
1030 </tr>
1031 </table>
1032</div>
1033<div class="memdoc">
1034
1035<p>Sets pointer to new array, using this as new workspace. </p>
1036<p>Make sure that set_free_when_destroyed is used properly. </p>
1037<dl><dt><b>Parameters:</b></dt><dd>
1038 <table class="params">
1039 <tr><td class="paramname">newPointer,:</td><td>Pointer to new array of elements. </td></tr>
1040 <tr><td class="paramname">size,:</td><td>Size of the new array. </td></tr>
1041 <tr><td class="paramname">_is_sorted</td><td>Flag which tells whether the new array is already sorted. </td></tr>
1042 <tr><td class="paramname">_free_when_destroyed</td><td>Sets whether the new memory area shall be freed by the array upon destruction, or if this will be up to the user application. </td></tr>
1043 </table>
1044 </dd>
1045</dl>
1046
1047<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00228">228</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
1048
1049</div>
1050</div>
1051<a class="anchor" id="ab73d5838db931996f66f9efcc7127b49"></a><!-- doxytag: member="irr::core::array::set_sorted" ref="ab73d5838db931996f66f9efcc7127b49" args="(bool _is_sorted)" -->
1052<div class="memitem">
1053<div class="memproto">
1054<div class="memtemplate">
1055template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
1056 <table class="memname">
1057 <tr>
1058 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::set_sorted </td>
1059 <td>(</td>
1060 <td class="paramtype">bool&#160;</td>
1061 <td class="paramname"><em>_is_sorted</em></td><td>)</td>
1062 <td><code> [inline]</code></td>
1063 </tr>
1064 </table>
1065</div>
1066<div class="memdoc">
1067
1068<p>Sets if the array is sorted. </p>
1069
1070<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00584">584</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
1071
1072</div>
1073</div>
1074<a class="anchor" id="a64d70ab89f03e2ec4deae3b6c0161305"></a><!-- doxytag: member="irr::core::array::set_used" ref="a64d70ab89f03e2ec4deae3b6c0161305" args="(u32 usedNow)" -->
1075<div class="memitem">
1076<div class="memproto">
1077<div class="memtemplate">
1078template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
1079 <table class="memname">
1080 <tr>
1081 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::set_used </td>
1082 <td>(</td>
1083 <td class="paramtype"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a>&#160;</td>
1084 <td class="paramname"><em>usedNow</em></td><td>)</td>
1085 <td><code> [inline]</code></td>
1086 </tr>
1087 </table>
1088</div>
1089<div class="memdoc">
1090
1091<p>Sets the size of the array and allocates new elements if necessary. </p>
1092<p>Please note: This is only secure when using it with simple types, because no default constructor will be called for the added elements. </p>
1093<dl><dt><b>Parameters:</b></dt><dd>
1094 <table class="params">
1095 <tr><td class="paramname">usedNow</td><td>Amount of elements now used. </td></tr>
1096 </table>
1097 </dd>
1098</dl>
1099
1100<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00257">257</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
1101
1102</div>
1103</div>
1104<a class="anchor" id="a7aef3e5dbf91f8d1e8f365039e2497ae"></a><!-- doxytag: member="irr::core::array::setAllocStrategy" ref="a7aef3e5dbf91f8d1e8f365039e2497ae" args="(eAllocStrategy newStrategy=ALLOC_STRATEGY_DOUBLE)" -->
1105<div class="memitem">
1106<div class="memproto">
1107<div class="memtemplate">
1108template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
1109 <table class="memname">
1110 <tr>
1111 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::setAllocStrategy </td>
1112 <td>(</td>
1113 <td class="paramtype"><a class="el" href="namespaceirr_1_1core.html#aa2e91971d5e6e84de235bfabe3c7adba">eAllocStrategy</a>&#160;</td>
1114 <td class="paramname"><em>newStrategy</em> = <code>ALLOC_STRATEGY_DOUBLE</code></td><td>)</td>
1115 <td><code> [inline]</code></td>
1116 </tr>
1117 </table>
1118</div>
1119<div class="memdoc">
1120
1121<p>set a new allocation strategy </p>
1122<p>if the maximum size of the array is unknown, you can define how big the allocation should happen. </p>
1123<dl><dt><b>Parameters:</b></dt><dd>
1124 <table class="params">
1125 <tr><td class="paramname">newStrategy</td><td>New strategy to apply to this array. </td></tr>
1126 </table>
1127 </dd>
1128</dl>
1129
1130<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00103">103</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
1131
1132<p>Referenced by <a class="el" href="_i_animated_mesh_m_d3_8h_source.html#l00200">irr::scene::SMD3QuaternionTagList::SMD3QuaternionTagList()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00577">irr::scene::quake3::SVarGroup::SVarGroup()</a>, and <a class="el" href="_i_q3_shader_8h_source.html#l00627">irr::scene::quake3::SVarGroupList::SVarGroupList()</a>.</p>
1133
1134</div>
1135</div>
1136<a class="anchor" id="abc592bab637d54799b6c86d6d0e8adf8"></a><!-- doxytag: member="irr::core::array::size" ref="abc592bab637d54799b6c86d6d0e8adf8" args="() const " -->
1137<div class="memitem">
1138<div class="memproto">
1139<div class="memtemplate">
1140template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
1141 <table class="memname">
1142 <tr>
1143 <td class="memname"><a class="el" href="namespaceirr.html#a0416a53257075833e7002efd0a18e804">u32</a> <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::size </td>
1144 <td>(</td>
1145 <td class="paramname"></td><td>)</td>
1146 <td> const<code> [inline]</code></td>
1147 </tr>
1148 </table>
1149</div>
1150<div class="memdoc">
1151
1152<p>Get number of occupied elements of the array. </p>
1153<dl class="return"><dt><b>Returns:</b></dt><dd>Size of elements in the array which are actually occupied. </dd></dl>
1154
1155<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00368">368</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
1156
1157<p>Referenced by <a class="el" href="_s_mesh_8h_source.html#l00037">irr::scene::SMesh::clear()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00193">irr::scene::SSkinMeshBuffer::convertTo2TCoords()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00212">irr::scene::SSkinMeshBuffer::convertToTangents()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00739">irr::scene::quake3::dumpShader()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00695">irr::scene::quake3::dumpVarGroup()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00130">irr::scene::quake3::getAsStringList()</a>, <a class="el" href="_s_animated_mesh_8h_source.html#l00041">irr::scene::SAnimatedMesh::getFrameCount()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00670">irr::scene::quake3::IShader::getGroup()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00663">irr::scene::quake3::IShader::getGroupSize()</a>, <a class="el" href="_s_shared_mesh_buffer_8h_source.html#l00086">irr::scene::SSharedMeshBuffer::getIndexCount()</a>, <a class="el" href="_c_mesh_buffer_8h_source.html#l00093">irr::scene::CMeshBuffer&lt; T &gt;::getIndexCount()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00120">irr::scene::SSkinMeshBuffer::getIndexCount()</a>, <a class="el" href="_s_mesh_8h_source.html#l00060">irr::scene::SMesh::getMeshBuffer()</a>, <a class="el" href="_s_mesh_8h_source.html#l00047">irr::scene::SMesh::getMeshBufferCount()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00770">irr::scene::quake3::getTextures()</a>, <a class="el" href="_c_mesh_buffer_8h_source.html#l00063">irr::scene::CMeshBuffer&lt; T &gt;::getVertexCount()</a>, <a class="el" href="_s_shared_mesh_buffer_8h_source.html#l00065">irr::scene::SSharedMeshBuffer::getVertexCount()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00087">irr::scene::SSkinMeshBuffer::getVertexCount()</a>, <a class="el" href="_i_q3_shader_8h_source.html#l00580">irr::scene::quake3::SVarGroup::isDefined()</a>, <a class="el" href="_s_mesh_8h_source.html#l00084">irr::scene::SMesh::recalculateBoundingBox()</a>, <a class="el" href="_s_animated_mesh_8h_source.html#l00101">irr::scene::SAnimatedMesh::recalculateBoundingBox()</a>, <a class="el" href="_s_shared_mesh_buffer_8h_source.html#l00116">irr::scene::SSharedMeshBuffer::recalculateBoundingBox()</a>, <a class="el" href="_c_mesh_buffer_8h_source.html#l00118">irr::scene::CMeshBuffer&lt; T &gt;::recalculateBoundingBox()</a>, <a class="el" href="_s_skin_mesh_buffer_8h_source.html#l00138">irr::scene::SSkinMeshBuffer::recalculateBoundingBox()</a>, <a class="el" href="irr_array_8h_source.html#l00228">irr::core::array&lt; IMesh * &gt;::set_pointer()</a>, <a class="el" href="_s_mesh_8h_source.html#l00122">irr::scene::SMesh::setDirty()</a>, <a class="el" href="_s_animated_mesh_8h_source.html#l00165">irr::scene::SAnimatedMesh::setDirty()</a>, <a class="el" href="_s_mesh_8h_source.html#l00115">irr::scene::SMesh::setHardwareMappingHint()</a>, <a class="el" href="_s_animated_mesh_8h_source.html#l00158">irr::scene::SAnimatedMesh::setHardwareMappingHint()</a>, <a class="el" href="_s_mesh_8h_source.html#l00108">irr::scene::SMesh::setMaterialFlag()</a>, <a class="el" href="_s_animated_mesh_8h_source.html#l00151">irr::scene::SAnimatedMesh::setMaterialFlag()</a>, <a class="el" href="_i_animated_mesh_m_d3_8h_source.html#l00222">irr::scene::SMD3QuaternionTagList::size()</a>, <a class="el" href="_s_animated_mesh_8h_source.html#l00032">irr::scene::SAnimatedMesh::~SAnimatedMesh()</a>, <a class="el" href="_i_animated_mesh_m_d3_8h_source.html#l00272">irr::scene::SMD3Mesh::~SMD3Mesh()</a>, and <a class="el" href="_s_mesh_8h_source.html#l00029">irr::scene::SMesh::~SMesh()</a>.</p>
1158
1159</div>
1160</div>
1161<a class="anchor" id="a870e52dd57dd67a9d59e5ca5f82bca94"></a><!-- doxytag: member="irr::core::array::sort" ref="a870e52dd57dd67a9d59e5ca5f82bca94" args="()" -->
1162<div class="memitem">
1163<div class="memproto">
1164<div class="memtemplate">
1165template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
1166 <table class="memname">
1167 <tr>
1168 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::sort </td>
1169 <td>(</td>
1170 <td class="paramname"></td><td>)</td>
1171 <td><code> [inline]</code></td>
1172 </tr>
1173 </table>
1174</div>
1175<div class="memdoc">
1176
1177<p>Sorts the array using heapsort. </p>
1178<p>There is no additional memory waste and the algorithm performs O(n*log n) in worst case. </p>
1179
1180<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00394">394</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
1181
1182<p>Referenced by <a class="el" href="irr_array_8h_source.html#l00409">irr::core::array&lt; IMesh * &gt;::binary_search()</a>, and <a class="el" href="irr_array_8h_source.html#l00475">irr::core::array&lt; IMesh * &gt;::binary_search_multi()</a>.</p>
1183
1184</div>
1185</div>
1186<a class="anchor" id="a8857046f500a2990fc9930b204a3dbad"></a><!-- doxytag: member="irr::core::array::swap" ref="a8857046f500a2990fc9930b204a3dbad" args="(array&lt; T, TAlloc &gt; &amp;other)" -->
1187<div class="memitem">
1188<div class="memproto">
1189<div class="memtemplate">
1190template&lt;class T, typename TAlloc = irrAllocator&lt;T&gt;&gt; </div>
1191 <table class="memname">
1192 <tr>
1193 <td class="memname">void <a class="el" href="classirr_1_1core_1_1array.html">irr::core::array</a>&lt; T, TAlloc &gt;::swap </td>
1194 <td>(</td>
1195 <td class="paramtype"><a class="el" href="classirr_1_1core_1_1array.html">array</a>&lt; T, TAlloc &gt; &amp;&#160;</td>
1196 <td class="paramname"><em>other</em></td><td>)</td>
1197 <td><code> [inline]</code></td>
1198 </tr>
1199 </table>
1200</div>
1201<div class="memdoc">
1202
1203<p>Swap the content of this array container with the content of another array. </p>
1204<p>Afterwards this object will contain the content of the other object and the other object will contain the content of this object. </p>
1205<dl><dt><b>Parameters:</b></dt><dd>
1206 <table class="params">
1207 <tr><td class="paramname">other</td><td>Swap content with this object </td></tr>
1208 </table>
1209 </dd>
1210</dl>
1211
1212<p>Definition at line <a class="el" href="irr_array_8h_source.html#l00594">594</a> of file <a class="el" href="irr_array_8h_source.html">irrArray.h</a>.</p>
1213
1214<p>Referenced by <a class="el" href="irr_array_8h_source.html#l00594">irr::core::array&lt; IMesh * &gt;::swap()</a>.</p>
1215
1216</div>
1217</div>
1218<hr/>The documentation for this class was generated from the following file:<ul>
1219<li><a class="el" href="irr_array_8h_source.html">irrArray.h</a></li>
1220</ul>
1221</div>
1222</div>
1223 <div id="nav-path" class="navpath">
1224 <ul>
1225 <li class="navelem"><a class="el" href="namespaceirr.html">irr</a> </li>
1226 <li class="navelem"><a class="el" href="namespaceirr_1_1core.html">core</a> </li>
1227 <li class="navelem"><a class="el" href="classirr_1_1core_1_1array.html">array</a> </li>
1228<!-- window showing the filter options -->
1229<div id="MSearchSelectWindow"
1230 onmouseover="return searchBox.OnSearchSelectShow()"
1231 onmouseout="return searchBox.OnSearchSelectHide()"
1232 onkeydown="return searchBox.OnSearchSelectKey(event)">
1233<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Defines</a></div>
1234
1235<!-- iframe showing the search results (closed by default) -->
1236<div id="MSearchResultsWindow">
1237<iframe src="javascript:void(0)" frameborder="0"
1238 name="MSearchResults" id="MSearchResults">
1239</iframe>
1240</div>
1241
1242
1243 <li class="footer">
1244<a href="http://irrlicht.sourceforge.net" target="_blank">Irrlicht
1245Engine</a> Documentation &copy; 2003-2012 by Nikolaus Gebhardt. Generated on Sun Nov 17 2013 20:18:43 for Irrlicht 3D Engine by
1246<a href="http://www.doxygen.org/index.html" target="_blank">Doxygen</a> 1.7.5.1 </li>
1247 </ul>
1248 </div>
1249
1250
1251</body>
1252</html>