Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r49920 - in website/public_html/beta: common/code doc style/css_0
From: daniel_james_at_[hidden]
Date: 2008-11-24 13:35:37


Author: danieljames
Date: 2008-11-24 13:35:36 EST (Mon, 24 Nov 2008)
New Revision: 49920
URL: http://svn.boost.org/trac/boost/changeset/49920

Log:
Add categorized and filtered views to the library list.
Text files modified:
   website/public_html/beta/common/code/boost_libraries.php | 57 +++++++++++
   website/public_html/beta/doc/libraries.php | 159 ++++++++++++++++++++++++++++-----
   website/public_html/beta/doc/libraries.xml | 188 ++++++++++++++++++++++++++++++++++++++++
   website/public_html/beta/style/css_0/section-doc.css | 17 +++
   4 files changed, 393 insertions(+), 28 deletions(-)

Modified: website/public_html/beta/common/code/boost_libraries.php
==============================================================================
--- website/public_html/beta/common/code/boost_libraries.php (original)
+++ website/public_html/beta/common/code/boost_libraries.php 2008-11-24 13:35:36 EST (Mon, 24 Nov 2008)
@@ -8,6 +8,7 @@
 
 class boost_libraries
 {
+ var $categories = array();
     var $db = array();
     
     function boost_libraries($xml_file)
@@ -18,13 +19,28 @@
         xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
         xml_parse_into_struct($parser, $xml, $values);
         xml_parser_free($parser);
-
+
         ##print '<!-- '; print_r($values); print ' -->';
         
         $lib = NULL;
+ $category = NULL;
         foreach ( $values as $key => $val )
         {
- if ($val['tag'] == 'library' && $val['type'] == 'open')
+ if ($val['tag'] == 'category' && $val['type'] == 'open' && !$lib && !$category)
+ {
+ $category = isset($val['attributes']) ? $val['attributes'] : array();
+ }
+ else if($val['tag'] == 'title' && $category)
+ {
+ $category['title'] = isset($val['value']) ? trim($val['value']) : '';
+ }
+ else if ($val['tag'] == 'category' && $val['type'] == 'close' && $category)
+ {
+ $category['libraries'] = array();
+ $this->categories[$category['name']] = $category;
+ $category = NULL;
+ }
+ else if ($val['tag'] == 'library' && $val['type'] == 'open')
             {
                 $lib = array();
             }
@@ -47,6 +63,14 @@
                         else { $lib[$val['tag']] = ''; }
                     }
                     break;
+ case 'category':
+ {
+ if(isset($val['value'])) {
+ $name = trim($val['value']);
+ $lib['category'][] = $name;
+ }
+ }
+ break;
                 }
             }
             else if ($val['tag'] == 'library' && $val['type'] == 'close' && $lib)
@@ -60,7 +84,34 @@
     function sort_by($field)
     {
         $f = '_field_cmp_'.strtolower(str_replace('-','_',$field)).'_';
- uasort($this->db,$f);
+ uasort($this->db, $f);
+ }
+
+ function get($sort = null, $filter = null) {
+ $libs = $filter ? array_filter($this->db, $filter) : $this->db;
+ if($sort) {
+ $f = '_field_cmp_'.strtolower(str_replace('-','_',$sort)).'_';
+ uasort($libs, $f);
+ }
+ return $libs;
+ }
+
+ function get_categorized($sort = null, $filter = null) {
+ $libs = $this->get($sort, $filter);
+ $categories = $this->categories;
+
+ foreach($libs as $key => &$library) {
+ foreach($library['category'] as $category) {
+ if(!isset($this->categories[$category])) {
+ echo 'Unknown category: '.$category;
+ exit(0);
+ }
+ $categories[$category]['libraries'][] = &$library;
+ }
+ unset($library);
+ }
+
+ return $categories;
     }
 }
 ?>

Modified: website/public_html/beta/doc/libraries.php
==============================================================================
--- website/public_html/beta/doc/libraries.php (original)
+++ website/public_html/beta/doc/libraries.php 2008-11-24 13:35:36 EST (Mon, 24 Nov 2008)
@@ -1,16 +1,70 @@
 <?php
+
 require_once(dirname(__FILE__) . '/../common/code/boost_version.php');
 require_once(dirname(__FILE__) . '/../common/code/boost_libraries.php');
 
 $libs = new boost_libraries(dirname(__FILE__) . '/libraries.xml');
-if (isset($_REQUEST['sort']))
-{
- $libs->sort_by($_REQUEST['sort']);
+
+// Display types:
+
+$view_fields = Array(
+ '' => 'All',
+ 'categorized' => 'Categorized'
+);
+$filter_fields = Array(
+ 'std-proposal' => 'Standard Proposals',
+ 'std-tr1' => 'TR1 libraries',
+ 'header-only' => 'Header Only Libraries',
+ 'autolink' => 'Automatic Linking');
+$sort_fields = Array(
+ '' => 'Name',
+ 'boost-version' => 'First Release');
+
+// View
+
+$view_value = isset($_REQUEST['view']) ? $_REQUEST['view'] : '';
+
+$category_value = '';
+$filter_value = '';
+
+if(strpos($view_value, 'filtered_') === 0) {
+ $filter_value = substr($view_value, strlen('filtered_'));
+ if(!isset($filter_fields[$filter_value])) {
+ echo 'Invalid filter field.'; exit(0);
+ }
 }
-else
-{
- $libs->sort_by('name');
+else if(strpos($view_value, 'category_') === 0) {
+ $category_value = substr($view_value, strlen('category_'));
+ if(!isset($libs->categories[$category_value])) {
+ echo 'Invalid category: '.htmlentities($category_value); exit(0);
+ }
 }
+else {
+ $filter_value = '';
+ if(!isset($view_fields[$view_value])) {
+ echo 'Invalid view value.'; exit(0);
+ }
+}
+
+// Sort
+
+$sort_value = isset($_REQUEST['sort']) ? $_REQUEST['sort'] : '';
+
+if(!isset($sort_fields[$sort_value])) {
+ echo 'Invalid sort field.'; exit(0);
+}
+
+function library_filter($lib) {
+ global $filter_value, $category_value;
+
+ return boost_version($libversion[0],$libversion[1],$libversion[2]) &&
+ (!$filter_value || ($lib[$filter_value] && $lib[$filter_value] != 'false')) &&
+ (!isset($_REQUEST['filter']) || $lib[$_REQUEST['filter']]) &&
+ (!$category_value || $category_value == 'all' ||
+ array_search($category_value, $lib['category']) !== FALSE);
+}
+
+// Library display functions:
 
 function libref($lib)
 {
@@ -53,6 +107,40 @@
   if ($lib['autolink'] == 'true') { $p[] = 'Automatic linking'; }
   print ($p ? implode(', ',$p) : '&nbsp;');
 }
+
+function option_link($description, $field, $value)
+{
+ $base_uri = preg_replace('![#?].*!', '', $_SERVER['REQUEST_URI']);
+ $current_value = isset($_REQUEST[$field]) ? $_REQUEST[$field] : '';
+
+ if($current_value == $value) {
+ echo '<span>';
+ }
+ else {
+ $params = $_REQUEST;
+ $params[$field] = $value;
+
+ $url_params = '';
+ foreach($params as $k => $v) {
+ if($v) {
+ $url_params .= $url_params ? '&' : '?';
+ $url_params .= urlencode($k) . '='. urlencode($v);
+ }
+ }
+
+ echo '<a href="'.htmlentities($base_uri.$url_params).'">';
+ }
+
+ echo htmlentities($description);
+
+ if($current_value == $value) {
+ echo '</span>';
+ }
+ else {
+ echo '</a>';
+ }
+}
+
 ?>
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
@@ -81,29 +169,34 @@
             </div>
 
             <div class="section-body">
- <ul class="menu">
- <li>Sort By</li>
-
- <li>Name</li>
-
- <li>First Release</li>
-
- <li>STD Proposal</li>
-
- <li>STD::TR1</li>
+ <div id="options">
+ <div id="view-options">
+ <ul class="menu">
+ <?php foreach($view_fields as $key => $description) : ?>
+ <li><?php option_link($description, 'view', $key); ?></li><?php
+ endforeach; ?>
+ <?php foreach($filter_fields as $key => $description) : ?>
+ <li><?php option_link($description, 'view', 'filtered_'.$key); ?></li>
+ <?php endforeach; ?>
+ </ul>
+ </div>
+ <div id="sort-options">
+ <div class="label">Sort by:</div>
+ <ul class="menu">
+ <?php foreach($sort_fields as $key => $description) : ?>
+ <li><?php option_link($description, 'sort', $key); ?></li>
+ <?php endforeach; ?>
+ </ul>
+ </div>
+ </div>
 
- <li>Header Only Use</li>
+ <?php if($view_value != 'categorized') { ?>
 
- <li>Automatic Linking</li>
-
- <li>Key</li>
- </ul>
+ <?php if($category_value) echo '<h2>', htmlentities($libs->categories[$category_value]['title']), '</h2>'; ?>
 
               <dl>
                 <?php
- foreach ($libs->db as $key => $lib) {
- $libversion = explode('.',$lib['boost-version']);
- if (boost_version($libversion[0],$libversion[1],$libversion[2])) { ?>
+ foreach ($libs->get($sort_value, 'library_filter') as $key => $lib) { ?>
 
                 <dt><?php libref($lib); ?></dt>
 
@@ -128,8 +221,24 @@
 
                     <dd><?php libbuildlink($lib); ?></dd>
                   </dl>
- </dd><!-- --><?php } } ?>
+ </dd><!-- --><?php } ?>
               </dl>
+
+ <?php } else { ?>
+
+ <h2>By Category</h2>
+ <?php
+ foreach ($libs->get_categorized($sort_value, 'library_filter') as $name => $category) {
+ if(count($category['libraries'])) {?>
+ <h3><?php option_link(isset($category['title']) ? $category['title'] : $name,
+ 'view', 'category_'.$name); ?></h3>
+ <ul><?php foreach ($category['libraries'] as $lib) { ?>
+ <li><?php libref($lib); ?>: <?php echo ($lib['description'] ? htmlentities($lib['description'],ENT_NOQUOTES,'UTF-8') : '&nbsp;'); ?></li>
+ <?php } ?></ul>
+ <?php } ?>
+ <?php } ?>
+
+ <?php } ?>
             </div>
           </div>
         </div>

Modified: website/public_html/beta/doc/libraries.xml
==============================================================================
--- website/public_html/beta/doc/libraries.xml (original)
+++ website/public_html/beta/doc/libraries.xml 2008-11-24 13:35:36 EST (Mon, 24 Nov 2008)
@@ -1,4 +1,66 @@
 <boost xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <categories>
+ <category name="String">
+ <title>String and text processing</title>
+ </category>
+ <category name="Containers">
+ <title>Containers</title>
+ </category>
+ <category name="Iterators">
+ <title>Iterators</title>
+ </category>
+ <category name="Algorithms">
+ <title>Algorithms</title>
+ </category>
+ <category name="Function-objects">
+ <title>Function objects and higher-order programming</title>
+ </category>
+ <category name="Generic">
+ <title>Generic Programming</title>
+ </category>
+ <category name="Metaprogramming">
+ <title>Template Metaprogramming</title>
+ </category>
+ <category name="Preprocessor">
+ <title>Preprocessor Metaprogramming</title>
+ </category>
+ <category name="Concurrent">
+ <title>Concurrent Programming</title>
+ </category>
+ <category name="Math">
+ <title>Math and numerics</title>
+ </category>
+ <category name="Correctness">
+ <title>Correctness and testing</title>
+ </category>
+ <category name="Data">
+ <title>Data structures</title>
+ </category>
+ <category name="Image-processing">
+ <title>Image processing</title>
+ </category>
+ <category name="IO">
+ <title>Input/Output</title>
+ </category>
+ <category name="Inter-language">
+ <title>Inter-language support</title>
+ </category>
+ <category name="Memory">
+ <title>Memory</title>
+ </category>
+ <category name="Parsing">
+ <title>Parsing</title>
+ </category>
+ <category name="Programming">
+ <title>Programming Interfaces</title>
+ </category>
+ <category name="Miscellaneous">
+ <title>Miscellaneous</title>
+ </category>
+ <category name="workarounds">
+ <title>Broken compiler workarounds</title>
+ </category>
+ </categories>
   <library>
     <key>accumulators</key>
     <boost-version>1.36.0</boost-version>
@@ -10,6 +72,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>algorithm/minmax</key>
@@ -23,6 +86,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Algorithms</category>
   </library>
   <library>
     <key>algorithm/string</key>
@@ -35,6 +99,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>String</category>
+ <category>Algorithms</category>
   </library>
   <library>
     <key>any</key>
@@ -48,6 +114,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Data</category>
   </library>
   <library>
     <key>array</key>
@@ -61,6 +128,7 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
   </library>
   <library>
     <key>asio</key>
@@ -74,6 +142,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Concurrent</category>
+ <category>IO</category>
   </library>
   <library>
     <key>assign</key>
@@ -87,6 +157,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>IO</category>
   </library>
   <library>
     <key>bimap</key>
@@ -101,6 +172,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
+ <category>Data</category>
   </library>
   <library>
     <key>bind</key>
@@ -118,6 +191,7 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Function-objects</category>
   </library>
   <library>
     <key>bind/mem_fn</key>
@@ -131,6 +205,7 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Function-objects</category>
   </library>
   <library>
     <key>bind/ref</key>
@@ -145,6 +220,7 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Function-objects</category>
   </library>
   <library>
     <key>circular_buffer</key>
@@ -158,6 +234,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
   </library>
   <library>
     <key>compatibility</key>
@@ -171,6 +248,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>workarounds</category>
   </library>
   <library>
     <key>concept_check</key>
@@ -184,6 +262,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Generic</category>
+ <category>Correctness</category>
   </library>
   <library>
     <key>config</key>
@@ -197,6 +277,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>workarounds</category>
   </library>
   <library>
     <key>conversion</key>
@@ -209,6 +290,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>String</category>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>crc</key>
@@ -224,6 +307,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>date_time</key>
@@ -237,6 +321,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>disjoint_sets</key>
@@ -251,6 +336,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
   </library>
   <library>
     <key>dynamic_bitset</key>
@@ -270,6 +356,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
   </library>
   <library>
     <key>exception</key>
@@ -284,6 +371,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>filesystem</key>
@@ -298,6 +386,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>foreach</key>
@@ -320,6 +409,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Algorithms</category>
   </library>
   <library>
     <key>format</key>
@@ -340,6 +430,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>String</category>
+ <category>IO</category>
   </library>
   <library>
     <key>function</key>
@@ -353,6 +445,8 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Function-objects</category>
+ <category>Programming</category>
   </library>
   <library>
     <key>function_types</key>
@@ -367,6 +461,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Generic</category>
+ <category>Metaprogramming</category>
   </library>
   <library>
     <key>functional</key>
@@ -381,6 +477,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Function-objects</category>
   </library>
   <library>
     <key>functional/hash</key>
@@ -394,6 +491,7 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Function-objects</category>
   </library>
   <library>
     <key>fusion</key>
@@ -407,6 +505,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Metaprogramming</category>
+ <category>Data</category>
   </library>
   <library>
     <key>gil</key>
@@ -419,6 +519,11 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
+ <category>Iterators</category>
+ <category>Algorithms</category>
+ <category>Generic</category>
+ <category>Image-processing</category>
   </library>
   <library>
     <key>graph</key>
@@ -435,6 +540,9 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>Containers</category>
+ <category>Iterators</category>
+ <category>Algorithms</category>
   </library>
   <library>
     <key>integer</key>
@@ -453,6 +561,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>interprocess</key>
@@ -466,6 +575,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Concurrent</category>
   </library>
   <library>
     <key>intrusive</key>
@@ -478,6 +588,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
   </library>
   <library>
     <key>io</key>
@@ -493,6 +604,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>IO</category>
   </library>
   <library>
     <key>iostreams</key>
@@ -506,6 +618,8 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>String</category>
+ <category>IO</category>
   </library>
   <library>
     <key>iterator</key>
@@ -522,6 +636,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Iterators</category>
   </library>
   <library>
     <key>lambda</key>
@@ -535,6 +650,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Function-objects</category>
   </library>
   <library>
     <key>logic/tribool</key>
@@ -547,6 +663,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>math</key>
@@ -570,6 +687,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>math/common_factor</key>
@@ -583,6 +701,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>math/octonion</key>
@@ -595,6 +714,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>math/quaternion</key>
@@ -607,6 +727,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>math/special_functions</key>
@@ -619,6 +740,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>math/statistical_distributions</key>
@@ -632,6 +754,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>mpi</key>
@@ -645,6 +768,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>Concurrent</category>
   </library>
   <library>
     <key>mpl</key>
@@ -663,6 +787,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Metaprogramming</category>
   </library>
   <library>
     <key>multi_array</key>
@@ -677,6 +802,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
+ <category>Math</category>
   </library>
   <library>
     <key>multi_index</key>
@@ -692,6 +819,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
+ <category>Data</category>
   </library>
   <library>
     <key>numeric/conversion</key>
@@ -706,6 +835,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>numeric/interval</key>
@@ -721,6 +852,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>numeric/ublas</key>
@@ -735,6 +867,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>optional</key>
@@ -748,6 +881,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>parameter</key>
@@ -762,6 +896,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Programming</category>
   </library>
   <library>
     <key>pool</key>
@@ -774,6 +909,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Memory</category>
   </library>
   <library>
     <key>preprocessor</key>
@@ -787,6 +923,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Preprocessor</category>
   </library>
   <library>
     <key>program_options</key>
@@ -802,6 +939,8 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>IO</category>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>property_map</key>
@@ -816,6 +955,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
+ <category>Generic</category>
   </library>
   <library>
     <key>proto</key>
@@ -828,6 +969,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Metaprogramming</category>
   </library>
   <library>
     <key>ptr_container</key>
@@ -842,6 +984,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
+ <category>Data</category>
   </library>
   <library>
     <key>python</key>
@@ -858,6 +1002,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>false</autolink>
+ <category>Inter-language</category>
   </library>
   <library>
     <key>random</key>
@@ -871,6 +1016,7 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>range</key>
@@ -884,6 +1030,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Algorithms</category>
   </library>
   <library>
     <key>rational</key>
@@ -896,6 +1043,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Math</category>
   </library>
   <library>
     <key>regex</key>
@@ -908,6 +1056,7 @@
     <std-tr1>true</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>String</category>
   </library>
   <library>
     <key>serialization</key>
@@ -922,6 +1071,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>IO</category>
   </library>
   <library>
     <key>signals</key>
@@ -935,6 +1085,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>Function-objects</category>
   </library>
   <library>
     <key>smart_ptr</key>
@@ -948,6 +1099,7 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Memory</category>
   </library>
   <library>
     <key>static_assert</key>
@@ -961,6 +1113,9 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Generic</category>
+ <category>Metaprogramming</category>
+ <category>Correctness</category>
   </library>
   <library>
     <key>spirit</key>
@@ -974,6 +1129,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>String</category>
+ <category>Parsing</category>
   </library>
   <library>
     <key>statechart</key>
@@ -988,6 +1145,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>system</key>
@@ -1001,6 +1159,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>test</key>
@@ -1014,6 +1173,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>Correctness</category>
   </library>
   <library>
     <key>thread</key>
@@ -1026,6 +1186,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>Concurrent</category>
   </library>
   <library>
     <key>timer</key>
@@ -1039,6 +1200,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>tokenizer</key>
@@ -1052,6 +1214,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>String</category>
+ <category>Iterators</category>
   </library>
   <library>
     <key>tr1</key>
@@ -1070,6 +1234,7 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>tuple</key>
@@ -1084,6 +1249,7 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Data</category>
   </library>
   <library>
     <key>type_traits</key>
@@ -1097,6 +1263,8 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Generic</category>
+ <category>Metaprogramming</category>
   </library>
   <library>
     <key>typeof</key>
@@ -1109,6 +1277,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>units</key>
@@ -1121,6 +1290,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>unordered</key>
@@ -1133,6 +1303,7 @@
     <std-tr1>true</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
   </library>
   <library>
     <key>utility</key>
@@ -1147,6 +1318,10 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Algorithms</category>
+ <category>Function-objects</category>
+ <category>Memory</category>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>utility/call_traits</key>
@@ -1160,6 +1335,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Generic</category>
   </library>
   <library>
     <key>utility/compressed_pair</key>
@@ -1172,6 +1348,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Data</category>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>utility/enable_if</key>
@@ -1186,6 +1364,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Generic</category>
   </library>
   <library>
     <key>utility/in_place_factories</key>
@@ -1200,6 +1379,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Generic</category>
   </library>
   <library>
     <key>utility/operators</key>
@@ -1213,6 +1393,9 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Iterators</category>
+ <category>Generic</category>
+ <category>Math</category>
   </library>
   <library>
     <key>utility/value_initialized</key>
@@ -1226,6 +1409,7 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Miscellaneous</category>
   </library>
   <library>
     <key>variant</key>
@@ -1239,6 +1423,8 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>Containers</category>
+ <category>Data</category>
   </library>
   <library>
     <key>wave</key>
@@ -1254,6 +1440,7 @@
     <std-tr1>false</std-tr1>
     <header-only>false</header-only>
     <autolink>true</autolink>
+ <category>String</category>
   </library>
   <library>
     <key>xpressive</key>
@@ -1269,5 +1456,6 @@
     <std-tr1>false</std-tr1>
     <header-only>true</header-only>
     <autolink>false</autolink>
+ <category>String</category>
   </library>
 </boost>

Modified: website/public_html/beta/style/css_0/section-doc.css
==============================================================================
--- website/public_html/beta/style/css_0/section-doc.css (original)
+++ website/public_html/beta/style/css_0/section-doc.css 2008-11-24 13:35:36 EST (Mon, 24 Nov 2008)
@@ -3,6 +3,23 @@
   Distributed under the Boost Software License, Version 1.0.
   (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
 */
+/* Library list options. */
+
+#content #options {
+ padding-left: 6em;
+}
+#content #options .label {
+ float: left;
+ display: inline;
+ margin-left: -6em;
+ width: 6em;
+ padding: 0.5em 0;
+ text-align: right;
+}
+#content #options ul.menu li span {
+ font-weight: bold;
+}
+
 /* Heading, title and logo. */
 li#doc-section-tab {
   background: #FFFFFF !important;


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk