diff options
| author | Lorry Tar Creator <lorry-tar-importer@baserock.org> | 2015-02-17 17:25:57 +0000 |
|---|---|---|
| committer | <> | 2015-03-17 16:26:24 +0000 |
| commit | 780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch) | |
| tree | 598f8b9fa431b228d29897e798de4ac0c1d3d970 /docs/programmer_reference/stl_known_issues.html | |
| parent | 7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff) | |
| download | berkeleydb-master.tar.gz | |
Diffstat (limited to 'docs/programmer_reference/stl_known_issues.html')
| -rw-r--r-- | docs/programmer_reference/stl_known_issues.html | 85 |
1 files changed, 46 insertions, 39 deletions
diff --git a/docs/programmer_reference/stl_known_issues.html b/docs/programmer_reference/stl_known_issues.html index f05483e5..5c8d9e05 100644 --- a/docs/programmer_reference/stl_known_issues.html +++ b/docs/programmer_reference/stl_known_issues.html @@ -14,7 +14,7 @@ <body> <div xmlns="" class="navheader"> <div class="libver"> - <p>Library Version 11.2.5.3</p> + <p>Library Version 12.1.6.1</p> </div> <table width="100%" summary="Navigation header"> <tr> @@ -36,42 +36,51 @@ </div> </div> </div> + <p> + Three algorithm functions of gcc's C++ STL test suite do + not work with dbstl. They are <code class="function">find_end()</code>, + <code class="function">inplace_merge()</code> and + <code class="function">stable_sort()</code>. + </p> + <p> + The reason for the incompatibility of + <code class="function">find_end()</code> is that it assumes the + data an iterator refers to is located at a shared place (owned + by its container). This assumption is not correct in that it + is part of the C++ STL standards specification. However, this + assumption can not be true for dbstl because each dbstl + container iterator caches its referenced value. + </p> <p> - Three algorithm functions of gcc's C++ STL test suite do not work with dbstl. They are - <code class="function">find_end()</code>, <code class="function">inplace_merge()</code> and - <code class="function">stable_sort()</code>. -</p> - <p> - The reason for the incompatibility of <code class="function">find_end()</code> is that it assumes the - data an iterator refers to is located at a shared place (owned by its container). This - assumption is not correct in that it is part of the C++ STL standards specification. However, - this assumption can not be true for dbstl because each dbstl container iterator caches its - referenced value. -</p> - <p> - Consequently, please do not use <code class="function">find_end()</code> for dbstl container iterators if - you are using gcc's STL library. -</p> - <p> - The reason for the incompatibility with <code class="function">inplace_merge()</code> and - <code class="function">stable_sort()</code> is that their implementation in gcc requires the - <span class="bold"><strong>value_type</strong></span> for a container to be default constructible. This - requirement is not a part of the the C++ STL standard specification. Dbstl's value type - wrappers (such as <code class="classname">ElementHolder</code>) do not support it. -</p> - <p> - These issues do not exist for any function available with the Microsoft - Visual C++ 8 STL library. There are two algorithm functions of Microsoft - Visual C++ 10 STL library that do have an issue: - <code class="function">partial_sort()</code> and - <code class="function">partial_sort_copy()</code>. These are not compatible because they - require the dbstl <code class="literal">vector</code> iterator to create a new - element when updating the current element. Dbstl - <code class="literal">vector</code> iterator can copy the new content to the - current element, but it cannot create a new one. This requirement is - not a part of the C++ STL standard specification, and so dbstl's - <code class="literal">vector</code> iterator does not support it. -</p> + Consequently, please do not use + <code class="function">find_end()</code> for dbstl container + iterators if you are using gcc's STL library. + </p> + <p> + The reason for the incompatibility with + <code class="function">inplace_merge()</code> and + <code class="function">stable_sort()</code> is that their + implementation in gcc requires the <span class="bold"><strong> + value_type</strong></span> for a container to be default + constructible. This requirement is not a part of the the C++ + STL standard specification. Dbstl's value type wrappers (such + as <code class="classname">ElementHolder</code>) do not support it. + </p> + <p> + These issues do not exist for any function available with + the Microsoft Visual C++ 8 STL library. There are two + algorithm functions of Microsoft Visual C++ 10 STL library + that do have an issue: <code class="function">partial_sort()</code> and + <code class="function">partial_sort_copy()</code>. These are not + compatible because they require the dbstl + <code class="literal">vector</code> iterator to create a new element + when updating the current element. Dbstl + <code class="literal">vector</code> iterator can copy the new + content to the current element, but it cannot create a new + one. This requirement is not a part of the C++ STL standard + specification, and so dbstl's <code class="literal">vector</code> + iterator does not support it. + </p> </div> <div class="navfooter"> <hr /> @@ -88,9 +97,7 @@ <td width="20%" align="center"> <a accesskey="h" href="index.html">Home</a> </td> - <td width="40%" align="right" valign="top"> Chapter 8. - Berkeley DB Architecture - </td> + <td width="40%" align="right" valign="top"> Chapter 8. Berkeley DB Architecture </td> </tr> </table> </div> |
