Generated from v6.0.11315.11111-test10
This commit is contained in:
Bozo
2018-01-26 04:54:48 -08:00
parent 2ea16cc86c
commit 55446d56ce
1111 changed files with 7129 additions and 10641 deletions

View File

@@ -3,7 +3,7 @@
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>openNURBS SDK Help: ON_ClassArray&lt; T &gt; Class Template Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -22,6 +22,7 @@
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">openNURBS SDK Help
&#160;<span id="projectnumber">6.0</span>
</div>
</td>
</tr>
@@ -29,21 +30,18 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search');
/* @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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
@@ -385,9 +383,8 @@ template&lt;class T&gt; </div>
</div><div class="memdoc">
<p>Append copy of element. Increments count by 1. </p>
<p>&lt; (int) cast is for 64 bit pointers</p>
<p>26 Sep 2005 Dale Lear User passed in an element of the m_a[] that will get reallocated by the call to Reserve(newcapacity). <br />
<br />
&lt; ON_*Array&lt;&gt; templates do not require robust copy constructor.</p>
<p>26 Sep 2005 Dale Lear User passed in an element of the m_a[] that will get reallocated by the call to Reserve(newcapacity).</p>
<p>&lt; ON_*Array&lt;&gt; templates do not require robust copy constructor.</p>
<p>&lt; ON_*Array&lt;&gt; templates require a robust operator=. </p>
</div>
@@ -993,8 +990,8 @@ template&lt;class T&gt; </div>
<p>Insert called with a reference uses operator =. </p>
<p>Insert copy of element. Uses memmove() to perform any necessary moving. Increases count by 1. </p>
<p>This call to memset is ok even when T has a vtable because in-place construction is used later. <br />
&lt; uses T::operator=() to copy x to array </p>
<p>This call to memset is ok even when T has a vtable because in-place construction is used later.</p>
<p>&lt; uses T::operator=() to copy x to array </p>
</div>
</div>
@@ -1103,8 +1100,8 @@ template&lt;class T &gt; </div>
<p>implimentation ////////////////////////////////////////////////////// </p>
<p>array operations //////////////////////////////////////////////////// </p>
<p>private function for moving blocks of array memory caller is responsible for updating m_count and managing destruction/creation. <br />
This call to memmove is ok, even when T is a class with a vtable because the it doesn't change the vtable for the class. Classes that have back pointers, like <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a>, are handled elsewhere and cannot be in ON_ClassArray&lt;&gt;s. </p>
<p>private function for moving blocks of array memory caller is responsible for updating m_count and managing destruction/creation.</p>
<p>This call to memmove is ok, even when T is a class with a vtable because the it doesn't change the vtable for the class. Classes that have back pointers, like <a class="el" href="../../d5/d55/class_o_n___user_data.html">ON_UserData</a>, are handled elsewhere and cannot be in ON_ClassArray&lt;&gt;s. </p>
</div>
</div>
@@ -1125,12 +1122,9 @@ template&lt;class T &gt; </div>
</table>
</div><div class="memdoc">
<p>is &lt; current <a class="el" href="../../dd/d40/class_o_n___class_array.html#a1845abffe10408c4ce46046d9232f8e8" title="query /////////////////////////////////////////////////////////////// ">Count()</a>, then count is reduced to value. When the dynamic array needs to grow, this calculates the new value for m_capacity. </p>
<p>Note: This code appears in <a class="el" href="../../dc/dfe/class_o_n___simple_array.html#a5d2395da5bc042c230d799ed92c9c564">ON_SimpleArray&lt;T&gt;::NewCapacity()</a> and <a class="el" href="../../dd/d40/class_o_n___class_array.html#a39b36908b477ca9e79dd435d1802237a">ON_ClassArray&lt;T&gt;::NewCapacity()</a>. Changes made to either function should be made to both functions. Because this code is template code that has to support dynamic linking and the code is defined in a header, I'm using copy-and-paste rather than a static. <br />
<br />
<br />
This function returns 2*m_count unless that will result in an additional allocation of more than cap_size bytes. The cap_size concept was added in January 2010 because some calculations on enormous models were slightly underestimating the initial <a class="el" href="../../dd/d40/class_o_n___class_array.html#a619516bde2761154d967c96ee6c2b044" title="memory managment ///////////////////////////////////////////////// ">Reserve()</a> size and then wasting gigabytes of memory. <br />
<br />
cap_size = 128 MB on 32-bit os, 256 MB on 64 bit os</p>
<p>Note: This code appears in <a class="el" href="../../dc/dfe/class_o_n___simple_array.html#a5d2395da5bc042c230d799ed92c9c564">ON_SimpleArray&lt;T&gt;::NewCapacity()</a> and <a class="el" href="../../dd/d40/class_o_n___class_array.html#a39b36908b477ca9e79dd435d1802237a">ON_ClassArray&lt;T&gt;::NewCapacity()</a>. Changes made to either function should be made to both functions. Because this code is template code that has to support dynamic linking and the code is defined in a header, I'm using copy-and-paste rather than a static.</p>
<p>This function returns 2*m_count unless that will result in an additional allocation of more than cap_size bytes. The cap_size concept was added in January 2010 because some calculations on enormous models were slightly underestimating the initial <a class="el" href="../../dd/d40/class_o_n___class_array.html#a619516bde2761154d967c96ee6c2b044" title="memory managment ///////////////////////////////////////////////// ">Reserve()</a> size and then wasting gigabytes of memory.</p>
<p>cap_size = 128 MB on 32-bit os, 256 MB on 64 bit os</p>
<p>Growing the array will increase the memory use by more than cap_size. </p>
</div>
@@ -1498,8 +1492,8 @@ template&lt;class T &gt; </div>
</table>
</div><div class="memdoc">
<p>Removes element. Uses memmove() to perform any necessary shifting. Decrements count by 1. Does not change capacity </p>
<p>This call to memset is ok even when T has a vtable because in-place construction is used later. <br />
This call to memset is ok even when T has a vtable because in-place construction is used later. </p>
<p>This call to memset is ok even when T has a vtable because in-place construction is used later.</p>
<p>This call to memset is ok even when T has a vtable because in-place construction is used later. </p>
</div>
</div>
@@ -1656,20 +1650,12 @@ template&lt;class T &gt; </div>
</table>
</div><div class="memdoc">
<p>Shrink/grows capacity. If value </p>
<p>Allow "expert" users of ON_SimpleArray&lt;&gt;.SetArray(*,*,0) to clean up after themselves and deals with the case when the forget to clean up after themselves. <br />
<br />
<br />
<br />
<br />
<br />
<br />
uses "placement" for class construction/destruction</p>
<p>Allow "expert" users of ON_SimpleArray&lt;&gt;.SetArray(*,*,0) to clean up after themselves and deals with the case when the forget to clean up after themselves.</p>
<p>uses "placement" for class construction/destruction</p>
<p>growing</p>
<p>initialize new elements with default constructor</p>
<p>even when m_a is an array of classes with vtable pointers, this call to memset(..., 0, ...) is what I want to do because in-place construction will be used when needed on this memory. <br />
<br />
<br />
memory allocation failed</p>
<p>even when m_a is an array of classes with vtable pointers, this call to memset(..., 0, ...) is what I want to do because in-place construction will be used when needed on this memory.</p>
<p>memory allocation failed</p>
<p>shrinking</p>
<p>memory allocation failed </p>
@@ -1794,10 +1780,8 @@ template&lt;class T&gt; </div>
</tr>
</table>
</div><div class="memdoc">
<p>Description: <a class="el" href="../../dd/d40/class_o_n___class_array.html#acc32ae1ba071b666ae49a9d2c2a041e7">Sort()</a> fills in the index[] array so that array[index[i]] &lt;= array[index[i+1]]. <br />
The array is not modified. <br />
Parameters: sort_algorithm - [in] <br />
ON::sort_algorithm::quick_sort (best in general) or ON::sort_algorithm::heap_sort Use ON::sort_algorithm::heap_sort only if you have done extensive testing with optimized release builds and are confident heap sort is significantly faster. index - [out] an array of length <a class="el" href="../../dd/d40/class_o_n___class_array.html#a1845abffe10408c4ce46046d9232f8e8" title="query /////////////////////////////////////////////////////////////// ">Count()</a> that is returned with some permutation of (0,1,...,<a class="el" href="../../dd/d40/class_o_n___class_array.html#a1845abffe10408c4ce46046d9232f8e8" title="query /////////////////////////////////////////////////////////////// ">Count()</a>-1). compare - [in] compare function compare(a,b) should return &lt;0 if a&lt;b, 0, if a==b, and &gt;0 if a&gt;b.</p>
<p>Description: <a class="el" href="../../dd/d40/class_o_n___class_array.html#acc32ae1ba071b666ae49a9d2c2a041e7">Sort()</a> fills in the index[] array so that array[index[i]] &lt;= array[index[i+1]]. The array is not modified.</p>
<p>Parameters: sort_algorithm - [in] ON::sort_algorithm::quick_sort (best in general) or ON::sort_algorithm::heap_sort Use ON::sort_algorithm::heap_sort only if you have done extensive testing with optimized release builds and are confident heap sort is significantly faster. index - [out] an array of length <a class="el" href="../../dd/d40/class_o_n___class_array.html#a1845abffe10408c4ce46046d9232f8e8" title="query /////////////////////////////////////////////////////////////// ">Count()</a> that is returned with some permutation of (0,1,...,<a class="el" href="../../dd/d40/class_o_n___class_array.html#a1845abffe10408c4ce46046d9232f8e8" title="query /////////////////////////////////////////////////////////////// ">Count()</a>-1). compare - [in] compare function compare(a,b) should return &lt;0 if a&lt;b, 0, if a==b, and &gt;0 if a&gt;b.</p>
<p>Returns: true if successful </p>
</div>
@@ -1841,10 +1825,8 @@ template&lt;class T&gt; </div>
</tr>
</table>
</div><div class="memdoc">
<p>Description: <a class="el" href="../../dd/d40/class_o_n___class_array.html#acc32ae1ba071b666ae49a9d2c2a041e7">Sort()</a> fills in the index[] array so that array[index[i]] &lt;= array[index[i+1]]. <br />
The array is not modified. <br />
Parameters: sort_algorithm - [in] <br />
ON::sort_algorithm::quick_sort (best in general) or ON::sort_algorithm::heap_sort Use ON::sort_algorithm::heap_sort only if you have done extensive testing with optimized release builds and are confident heap sort is significantly faster. index - [out] an array of length <a class="el" href="../../dd/d40/class_o_n___class_array.html#a1845abffe10408c4ce46046d9232f8e8" title="query /////////////////////////////////////////////////////////////// ">Count()</a> that is returned with some permutation of (0,1,...,<a class="el" href="../../dd/d40/class_o_n___class_array.html#a1845abffe10408c4ce46046d9232f8e8" title="query /////////////////////////////////////////////////////////////// ">Count()</a>-1). compare - [in] compare function compare(a,b,p) should return &lt;0 if a&lt;b, 0, if a==b, and &gt;0 if a&gt;b. p - [in] pointer passed as third argument to compare.</p>
<p>Description: <a class="el" href="../../dd/d40/class_o_n___class_array.html#acc32ae1ba071b666ae49a9d2c2a041e7">Sort()</a> fills in the index[] array so that array[index[i]] &lt;= array[index[i+1]]. The array is not modified.</p>
<p>Parameters: sort_algorithm - [in] ON::sort_algorithm::quick_sort (best in general) or ON::sort_algorithm::heap_sort Use ON::sort_algorithm::heap_sort only if you have done extensive testing with optimized release builds and are confident heap sort is significantly faster. index - [out] an array of length <a class="el" href="../../dd/d40/class_o_n___class_array.html#a1845abffe10408c4ce46046d9232f8e8" title="query /////////////////////////////////////////////////////////////// ">Count()</a> that is returned with some permutation of (0,1,...,<a class="el" href="../../dd/d40/class_o_n___class_array.html#a1845abffe10408c4ce46046d9232f8e8" title="query /////////////////////////////////////////////////////////////// ">Count()</a>-1). compare - [in] compare function compare(a,b,p) should return &lt;0 if a&lt;b, 0, if a==b, and &gt;0 if a&gt;b. p - [in] pointer passed as third argument to compare.</p>
<p>Returns: true if successful </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -2011,9 +1993,9 @@ template&lt;class T&gt; </div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Fri Jan 26 2018 12:38:21 for openNURBS SDK Help by &#160;<a href="http://www.doxygen.org/index.html">
Generated on Fri Jan 26 2018 04:54:30 for openNURBS SDK Help by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/>
</a> 1.8.14
</a> 1.8.13
</small></address>
</body>
</html>