<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
  "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!--
  == Copyright 2002 The Trustees of Indiana University.

  == Use, modification and distribution is subject to 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)

  ==  Boost.MultiArray Library
  ==  Authors: Ronald Garcia
  ==           Jeremy Siek
  ==           Andrew Lumsdaine
  ==  See http://www.boost.org/libs/multi_array for documentation.
  -->
<head>
  <title>Boost.MultiArray: Extra Notes</title>
</head>

<body>

<h1>
   <img src="../../../boost.png" alt="boost logo"
    width="277" align="middle" height="86">
   <br>Boost.MultiArray: Extra Notes
   <br>
</h1>


<a name="sec_compilers"></a>
<h2>Compiler Support</h2>

Boost.MultiArray was designed with compiler support in mind.
    Interface compromises were kept to a minimum, but efforts were
    made to account for C++ Standard compliance issues in compilers
    that were popular at the time the library was written.  That said, 
    Boost.MultiArray has been tested with the following compilers:
<ol>
<li> Gnu C++ Compiler v2.95.2 (compile with <tt>-ftemplate-depth-50</tt>)
<li> Gnu C++ Compiler v3.0.2
<li> Kuck and Associates C++ Compiler v4.0f
<li> Microsoft Visual C++ v6.0 sp5
<li> Comeau C++ Compiler v4.2.45 beta 2 (libcomo beta 14)
<li> Intel C++ Compiler v5.0 (with MS lib v6.0 sp5)
<li> Metrowerks CodeWarrior C++ Compiler v7.1
</ol>

Boost.MultiArray is known to NOT work with Borland C++ v5.5.1. 
Support for this compiler is forthcoming.


<h2>Future Work</h2>

The following is a list of work that is intended for the near future
 -- following the initial addition of the library to the Boost
    distribution:
<ol>
<li> Pursue and document performance issues related to compilers and
	implementation.
<li> More comprehensive examples of using the library components.
<li> Extensive rewrite of the user documentation to make it more accessible.
</ol>

<hr>

<address>
<a href="mailto:garcia@.cs.indiana.edu">Ronald Garcia</a>
</address>
<!-- Created: Fri Jun 29 10:53:07 EST 2001 -->
<!-- hhmts start -->
Last modified: Wed Jan  8 18:09:46 EST 2003
<!-- hhmts end -->

</body>
</html>
