| <HTML> |
| <!-- |
| Copyright (c) Jeremy Siek, Lie-Quan Lee, and Andrew Lumsdaine 2000 |
| |
| Distributed under the Boost Software License, Version 1.0. |
| (See accompanying file LICENSE_1_0.txt or copy at |
| http://www.boost.org/LICENSE_1_0.txt) |
| --> |
| <Head> |
| <Title>BasicMatrix</Title> |
| <BODY BGCOLOR="#ffffff" LINK="#0000ee" TEXT="#000000" VLINK="#551a8b" |
| ALINK="#ff0000"> |
| <IMG SRC="../../../boost.png" |
| ALT="C++ Boost" width="277" height="86"> |
| |
| <BR Clear> |
| |
| <H1><A NAME="concept:BasicMatrix"></A> |
| BasicMatrix |
| </H1> |
| |
| The BasicMatrix concept provides a minimalist interface for |
| accessing elements from a 2 dimensional table of values. |
| |
| |
| <H3>Refinement of</H3> |
| |
| none |
| |
| <h3>Notation</h3> |
| |
| <Table> |
| <TR> |
| <TD>{<tt>M,I,V</tt>}</TD> |
| <TD>The matrix, index, and values types that together model the BasicMatrix concept.</TD> |
| </TR> |
| |
| <TR> |
| <TD><tt>A</tt></TD> |
| <TD>An object of type <tt>M</tt>.</TD> |
| </TR> |
| |
| <TR> |
| <TD><tt>i, j</tt></TD> |
| <TD>Objects of type <tt>I</tt>.</TD> |
| </TR> |
| |
| </table> |
| |
| <H3>Associated Types</H3> |
| |
| none |
| |
| <h3>Valid Expressions</h3> |
| |
| <Table border> |
| |
| <tr> |
| <td><a name="sec:elt-access"><TT>A[i][j]</TT></a></TD> |
| <TD>Returns a reference to the element object stored at index <tt>(i,j)</tt><br> |
| Return type: <TT>V&</TT> for mutable <tt>A</tt> or <TT>const V&</TT> |
| for constant <tt>A</tt>. |
| </TD> |
| </TR> |
| |
| </table> |
| |
| <H3>Complexity guarantees</H3> |
| |
| Element access is constant time. |
| |
| <H3>Concept Checking Class</H3> |
| |
| <pre> |
| template <class M, class I, class V> |
| struct BasicMatrixConcept |
| { |
| void constraints() { |
| V& elt = A[i][j]; |
| const_constraints(A); |
| ignore_unused_variable_warning(elt); |
| } |
| void const_constraints(const M& A) { |
| const V& elt = A[i][j]; |
| ignore_unused_variable_warning(elt); |
| } |
| M A; |
| I i, j; |
| }; |
| </pre> |
| |
| <br> |
| <HR> |
| <TABLE> |
| <TR valign=top> |
| <TD nowrap>Copyright © 2000-2001</TD><TD> |
| <A HREF="http://www.boost.org/people/jeremy_siek.htm">Jeremy Siek</A>, |
| Indiana University (<A |
| HREF="mailto:jsiek@osl.iu.edu">jsiek@osl.iu.edu</A>) |
| </TD></TR></TABLE> |
| |
| </BODY> |
| </HTML> |