<!--

Copyright MetaCommunications, Inc. 2003-2005.

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)

-->

<div class="legend">
<table border="0" summary="report description">
    <tr>
        <td class="legend-item" width="50pt">
            <table width="100%" summary="success legend">
                <tr class="summary-row-single"><td class="summary-success-expected">OK</td></tr>
                </table>
        </td>
        <td class="legend-explanation">
            All expected tests pass.
        </td>
    </tr>
    <tr>
        <td class="legend-item" width="50pt">
            <table width="100%" summary="unexpected pass legend">
                <tr class="summary-row-single"><td class="summary-success-unexpected">OK</td></tr>
            </table>
        </td>
        <td class="legend-explanation">
            All expected tests pass, and some other tests that were expected to fail 
            unexpectedly pass as well.
        </td>
    </tr>
    <tr>
        <td class="legend-item" width="50pt">
            <table width="100%" summary="unexpected new fail legend">
                <tr class="summary-row-single"><td class="summary-fail-unexpected-new">fail</td></tr>
            </table>
        </td>
        <td class="legend-explanation">
            There are some failures on the newly added tests/compiler(s).
        </td>
    </tr>
    <tr>
        <td class="legend-item" width="50pt">
            <table width="100%" summary="unexpected fail legend">
                <tr class="summary-row-single"><td class="summary-fail-unexpected">broken</td></tr>
            </table>
        </td>
        <td class="legend-explanation">
            Tests that the library author expects to pass are currently failing.
        </td>
    </tr>
    <tr>
        <td class="legend-item" width="50pt">
            <table width="100%" summary="unusable legend">
                <tr class="summary-row-single"><td class="summary-unusable">n/a</td></tr>
            </table>
        </td>
        <td class="legend-explanation">
            The library author marked it as unusable on particular platform/toolset.
        </td>
    </tr>
</table>
<hr/>
<table border="0" summary="report description" id="Table1">
    <tr>
        <td><span class="run-type-incremental">i</span></td>
        <td class="legend-explanation">An incremental run.</td>
    </tr>
</table>
</div>
