Boost C++ Libraries: Ticket #2692: No concepts supporting the idea of dense https://svn.boost.org/trac10/ticket/2692 <p> data() returns a reference to a Storage. However, nowhere in the concepts is a statement saying that &amp;m.data()<a class="missing changeset" title="No changeset 0 in the repository">[0]</a> must to be the address of the first element of the linearly stored data in the Storage. The adjective "dense" is used all over, but nowhere is this term given any operational guarantees. Without such guarantees, all the interfaces in, say, the numerics::binding libraries are being built on sand. Related to this is that nothing requires unbounded_array&lt;T&gt;::value_type to be T. The problem boils down to the ublas concepts documentation borrowing from the stl vector concepts which are general enough to support vector&lt;bool&gt;. The basic (and inadequate) change is the sprinkling around of the word dense and the phrase "strict linear order". Instead you need to explicitly says things like value_type is T and &amp;v[i+j] == &amp;v[i]+j (for reasonable i+j). </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2692 Trac 1.4.3 dougrm@… Wed, 28 Jan 2009 20:57:40 GMT <link>https://svn.boost.org/trac10/ticket/2692#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2692#comment:1</guid> <description> <p> The above all refers to: <a href="http://www.boost.org/doc/libs/1_37_0/libs/numeric/ublas/doc">http://www.boost.org/doc/libs/1_37_0/libs/numeric/ublas/doc</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Steven Watanabe</dc:creator> <pubDate>Thu, 29 Jan 2009 19:28:31 GMT</pubDate> <title>owner, component changed https://svn.boost.org/trac10/ticket/2692#comment:2 https://svn.boost.org/trac10/ticket/2692#comment:2 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Matias Capeletto</span> to <span class="trac-author">Gunter</span> </li> <li><strong>component</strong> <span class="trac-field-old">Documentation</span> → <span class="trac-field-new">uBLAS</span> </li> </ul> Ticket Gunter Fri, 30 Jan 2009 21:24:26 GMT status changed https://svn.boost.org/trac10/ticket/2692#comment:3 https://svn.boost.org/trac10/ticket/2692#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> <p> I agree that the term "dense" is not defined. However, I 'd like to go throug all classes before I add a definition to the docs. </p> Ticket Gunter Thu, 18 Jun 2009 08:01:37 GMT type, severity, milestone changed https://svn.boost.org/trac10/ticket/2692#comment:4 https://svn.boost.org/trac10/ticket/2692#comment:4 <ul> <li><strong>type</strong> <span class="trac-field-old">Bugs</span> → <span class="trac-field-new">Feature Requests</span> </li> <li><strong>severity</strong> <span class="trac-field-old">Problem</span> → <span class="trac-field-new">Optimization</span> </li> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.38.0</span> → <span class="trac-field-new">To Be Determined</span> </li> </ul> <p> Moved to list of feature requests because the fix requires a whole new concept. Currently all classes which use "dense" storage follow the wide known dense concept without explicitly stating it. </p> Ticket