|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r55086 - in sandbox/SOC/2007/visualization: boost/svg_plot boost/svg_plot/detail libs/svg_plot/doc/html
From: pbristow_at_[hidden]
Date: 2009-07-22 13:56:55
Author: pbristow
Date: 2009-07-22 13:56:54 EDT (Wed, 22 Jul 2009)
New Revision: 55086
URL: http://svn.boost.org/trac/boost/changeset/55086
Log:
X ticks font size and family not OK, but NOT y for reasons unclear.
Also the space calculated is OK, but the positioning wrong.
Text files modified:
sandbox/SOC/2007/visualization/boost/svg_plot/detail/axis_plot_frame.hpp | 63 +++++++++++++++++++++++----------------
sandbox/SOC/2007/visualization/boost/svg_plot/show_1d_settings.hpp | 50 ++-----------------------------
sandbox/SOC/2007/visualization/boost/svg_plot/svg_1d_plot.hpp | 10 +++---
sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp | 54 +++++++++++++++++++++++++++------
sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp | 6 +-
sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html | 4 +-
6 files changed, 94 insertions(+), 93 deletions(-)
Modified: sandbox/SOC/2007/visualization/boost/svg_plot/detail/axis_plot_frame.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/detail/axis_plot_frame.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/detail/axis_plot_frame.hpp 2009-07-22 13:56:54 EDT (Wed, 22 Jul 2009)
@@ -337,7 +337,7 @@
}
}
else if (derived().x_ticks_.label_rotation_ == downward)
- {
+ { // Should handle other directions too.
x -= derived().x_value_label_style_.font_size() * 0.3;
if (derived().x_ticks_.major_value_labels_side_ < 0)
{ // labels to bottom, so start a little below y_down.
@@ -355,7 +355,7 @@
x += derived().x_value_label_style_.font_size() * 0.5;
if (derived().x_ticks_.major_value_labels_side_ < 0)
{ // labels to bottom, so start a little to bottom of y_bottom.
- y = y_down + derived().x_value_label_style_.font_size() * 0.7;
+ y = y_down + derived().x_value_label_style_.font_size() * sin45;
// Seems to need a bit more space for top than bottom if rotated.
alignment = right_align;
}
@@ -405,7 +405,7 @@
{
throw std::runtime_error("X-tick Y value wrong!");
}
-
+ // Draw the X ticks value labels, "1", "2" "3" ...
if(derived().x_ticks_.ticks_on_window_or_axis_ != 0)
{ // External to plot window style bottom or top.
// Always want all values including "0", if labeling external to plot window.
@@ -413,7 +413,9 @@
derived().image.g(detail::PLOT_X_TICKS_VALUES).text(
x,
y,
- label.str(), derived().x_value_label_style_, alignment, derived().x_ticks_.label_rotation_);
+ label.str(),
+ //derived().x_value_label_style_, alignment, derived().x_ticks_.label_rotation_); doesn't work!
+ derived().x_value_label_info_.textstyle(), alignment, derived().x_ticks_.label_rotation_);
}
else
{
@@ -423,7 +425,8 @@
x,
y,
label.str(),
- derived().x_value_label_style_,
+ //derived().x_value_label_style_, doesn't work!
+ derived().x_value_label_info_.textstyle(),
alignment,
derived().x_ticks_.label_rotation_);
}
@@ -822,7 +825,7 @@
}
else
{ // Use point stroke color instead.
- g_inner_ptr->style() .stroke_color(derived().serieses_[i].point_style_.stroke_color_); // OK with 1D
+ g_inner_ptr->style().stroke_color(derived().serieses_[i].point_style_.stroke_color_); // OK with 1D
}
//std::cout << "line g_inner_ptr->style().stroke_color() " << g_inner_ptr->style().stroke_color() << std::endl;
@@ -847,12 +850,12 @@
} // void draw_legend()
void draw_x_label()
- { //! Draw the X-axis label text (for example, length), and append any required units (for example. km).
+ { //! Draw the X-axis label text (for example, length),
+ //! and append any required units (for example. km).
// X-label color is set in constructor thus:
// image.g(detail::PLOT_X_LABEL).style().stroke_color(black);
// and changed using x_label_color(color);
-
std::string label = derived().x_label_info_.text(); // x_axis_ label, and optional units.
if (derived().x_axis_.label_units_on_ && (derived().x_units_info_.text() != ""))
{ // Append the units, if any, user providing brackets () if required.
@@ -864,8 +867,19 @@
if (derived().x_ticks_.ticks_on_window_or_axis_ < 0) // bottom
{ // Ticks & value labels below X-axis.
if (derived().x_ticks_.major_value_labels_side_ < 0) // bottom
- { // Shift down to allow for any value labels.
- y += derived().x_ticks_.label_max_space_;
+ { // Shift down to allow for any tick value labels.
+ // SHould handle other directions too.
+ if (derived().x_ticks_.label_rotation_ == downward)
+ { // tick value label direction down .
+ y += derived().x_ticks_.label_max_space_;
+ }
+ else if (derived().x_ticks_.label_rotation_ == uphill)
+ { // sloping
+ y += derived().x_ticks_.label_max_space_ * sin45;
+ }
+ else
+ { // horizontal
+ }
}
if (derived().x_ticks_.down_ticks_on_)
{ // Shift down for biggest of any ticks.
@@ -877,7 +891,7 @@
( // x position relative to the x-axis which is middle of plot window.
derived().plot_right_ + derived().plot_left_) / 2, // x coordinate - middle.
y, // Down from plot window.
- label,
+ label, // for the X-axis.
derived().x_label_info_.textstyle(),
center_align, horizontal)
);
@@ -1007,7 +1021,6 @@
break;
case symbol:
g_ptr.text(x, y + half_size, sty.symbols(), sty.style(), center_align, horizontal); // symbol(s), size and centre.
- // TODO Need to provide way to set style.symbols when Boost.Parameter is unravelled.
// Unicode symbols that work on most browsers are listed at
// boost\math_toolkit\libs\math\doc\sf_and_dist\html4_symbols.qbk,
@@ -2690,11 +2703,11 @@
template <class Derived>
Derived& axis_plot_frame<Derived>::x_axis_label_color(const svg_color& col)
{ //! Set X axis label color.
- // Set BOTH stroke and fill to the same color.
derived().image.g(detail::PLOT_X_LABEL).style().fill_color(col);
//derived().image.g(detail::PLOT_X_LABEL).style().stroke_color(col);
// Setting the stroke color produces fuzzy characters :-(
- return derived();
+ // Set BOTH stroke and fill to the same color?
+ return derived();
}
template <class Derived>
@@ -2753,39 +2766,37 @@
return derived().x_ticks_.value_ioflags_;
}
-
-
template <class Derived>
Derived& axis_plot_frame<Derived>::x_ticks_values_font_size(unsigned int i)
- { //! Set X tick value label font size (svg units, default pixels).
+ { //! Set X ticks value label font size (svg units, default pixels).
derived().x_ticks_.value_label_style_.font_size(i);
+ // derived().image.g(detail::PLOT_X_TICKS_VALUES).style().fill_color(col);
+
return derived();
}
template <class Derived>
unsigned int axis_plot_frame<Derived>::x_ticks_values_font_size()
- { //! \return X tick value label font size (svg units, default pixels).
- return derived().x_ticks_.value_label_style_.font_size();
+ { //! \return X ticks value label font size (svg units, default pixels).
+ // return derived().x_ticks_.value_label_style_.font_size();
+ return derived().x_value_label_info_.textstyle().font_size();
}
template <class Derived>
Derived& axis_plot_frame<Derived>::x_ticks_values_font_family(const std::string& family)
- { //! Set X tick value label font family.
+ { //! Set X ticks value label font family.
+ //derived().x_ticks_.value_label_style_.font_family(family); // is effect same as:
+ derived().x_value_label_info_.textstyle().font_family(family);
-
- derived().x_ticks_.value_label_style_.font_family(family);
return derived();
}
template <class Derived>
const std::string& axis_plot_frame<Derived>::x_ticks_values_font_family()
- { //! \return X tick value label font family.
+ { //! \return X ticks value label font family.
return derived().x_ticks_.value_label_style_.font_family();
}
-
-
-
template <class Derived>
Derived& axis_plot_frame<Derived>::x_ticks_on_window_or_axis(int cmd)
{ /*! Set X ticks on window or axis
Modified: sandbox/SOC/2007/visualization/boost/svg_plot/show_1d_settings.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/show_1d_settings.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/show_1d_settings.hpp 2009-07-22 13:56:54 EDT (Wed, 22 Jul 2009)
@@ -6,7 +6,7 @@
This is useful for diagnosing why your plot doesn't look as you hoped!
\warning This creates about 100 lines of output, so should be used sparingly!
- \author Paul A. Bristow
+ \author Paul A. Bristow
\date Mar 2009
\see show_2d_settings.cpp for 2-D plot.
*/
@@ -37,7 +37,7 @@
//! Strings describing each bit in std::ios_base::fmtflags.
const char* fmtFlagWords[16] =
-{
+{
"skipws", "unitbuf", "uppercase","showbase","showpoint","showpos","left","right",
"internal","dec","oct","hex","scientific","fixed","boolalpha", "?"
/*
@@ -145,7 +145,7 @@
//! Outputs strings to show horizontal orientation: left, right or none.
const std::string l_or_r(int i)
-{
+{
return ((i < 0) ? "left" : ((i == 0) ? "none" : "right"));
}
@@ -302,50 +302,8 @@
cout << "x_axis_position " << plot.x_axis_position() << endl;
cout << "x_autoscale " << plot.x_autoscale() << endl;
cout << "x_autoscale_check_limits " << plot.autoscale_check_limits() << endl;
-
- //cout << "y_axis_position " << plot.y_axis_position() << endl;
- //cout << "y_label_on " << plot.y_label_on() << endl;
- //cout << "y_label_axis " << plot.y_label_axis() << endl;
- //cout << "y_axis_color " << plot.y_axis_color() << endl;
- //cout << "y_axis_label_color " << plot.y_axis_label_color() << endl;
- //cout << "y_axis_on " << plot.y_axis_on() << endl;
- //cout << "axes_on " << plot.axes_on() << endl; // Both x and y axes on
- //cout << "y_axis_value_color " << plot.y_axis_value_color() << endl;
- //cout << "y_axis_width " << plot.y_axis_width() << endl;
- //cout << "y_label " << plot.y_label() << endl;
- //cout << "y_label_color " << plot.y_label_color() << endl;//
- //cout << "y_label_font_family " << plot.y_label_font_family() << endl;
- //cout << "y_label_font_size " << plot.y_label_font_size() << endl;
- //cout << "y_label_on " << plot.y_label_on() << endl;
- //cout << "y_label_units " << plot.y_label_units() << endl;
- //cout << "y_label_units_on " << plot.y_label_units_on() << endl;
- //cout << "y_label_width " << plot.y_label_width() << endl;
- //cout << "y_major_grid_on " << plot.y_major_grid_on() << endl;
- //cout << "y_major_grid_color " << plot.y_major_grid_color() << endl;
- //cout << "y_major_grid_width " << plot.y_major_grid_width() << endl;
- //cout << "y_major_interval " << plot.y_major_interval() << endl;
- //cout << "y_major_labels_side " << t_or_b(plot.y_major_labels_side()) << endl;
- //cout << "y_major_label_rotation " << plot.y_major_label_rotation() << endl;
- //cout << "y_major_tick_color " << plot.y_major_tick_color() << endl;
- //cout << "y_major_tick_length " << plot.y_major_tick_length() << endl;
- //cout << "y_major_tick_width " << plot.y_major_tick_width() << endl;
- //cout << "y_minor_grid_on " << plot.y_minor_grid_on() << endl;
- //cout << "y_minor_grid_color " << plot.y_minor_grid_color() << endl;
- //cout << "y_minor_grid_width " << plot.y_minor_grid_width() << endl;
- //cout << "y_minor_interval " << plot.y_minor_interval() << endl;
- ////cout << "y_minor_labels_on " << plot.y_minor_labels_on() << endl; // Not implemented yet.
- //cout << "y_minor_tick_color " << plot.y_minor_tick_color() << endl;
- //cout << "y_minor_tick_length " << plot.y_minor_tick_length() << endl;
- //cout << "y_minor_tick_width " << plot.y_minor_tick_width() << endl;
- //cout << "y_range() " << plot.y_range() << endl;
- //cout << "y_num_minor_ticks " << endl;
- //cout << "y_ticks_left_on " << plot.y_ticks_left_on() << endl;
- //cout << "y_ticks_right_on " << plot.y_ticks_right_on() << endl;
- //cout << "y_ticks_on_window_or_axis " << l_or_r(plot.y_ticks_on_window_or_axis()) << endl;
- //cout << "y_max " << plot.y_max() << endl;
- //cout << "y_min " << plot.y_min() << endl;
cout << "data lines width " << plot.data_lines_width() << endl;
- cout.flags(iostate); // Restore.
+ cout.flags(iostate); // Restore.
} // void show_plot_settings(svg_1d_plot& plot)
} // svg
Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_1d_plot.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_1d_plot.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_1d_plot.hpp 2009-07-22 13:56:54 EDT (Wed, 22 Jul 2009)
@@ -276,7 +276,7 @@
text_style legend_style_; //!< style (font etc of legend.
text_style x_axis_label_style_; //!< style of X axis label.
text_style y_axis_label_style_; //!< Not used for 1D but needed by axis_plot_frame.hpp.
- text_style x_value_label_style_; //!< style of X value label.
+ text_style x_value_label_style_; //!< style of X ticks value label.
text_style y_value_label_style_; //!< Not used for 1D but needed by axis_plot_frame.hpp.
text_style point_symbols_style_; //!< Used for data point marking.
text_style value_style_; //!< Used for data point value label.
@@ -286,14 +286,14 @@
//int x_value_precision_;
//std::ios_base::fmtflags x_value_ioflags_;
+ // text_elements hold position & alignment, and indirectly via text_style, font_family, font_size, bold, italic...
text_element title_info_; //!< Title of whole plot.
text_element legend_header_; //!< legend box header or title (if any).
text_element x_label_info_; //!< X-axis label, Example: "length of widget"
- text_element x_label_value_; //!< For example: "1.2" or "1.2e1"
+ text_element x_value_label_info_; //!< X-axis tick value label, for example: "1.2" or "1.2e1"
text_element x_units_info_; //!< For example, to display, "length (meter)"
// No Y-axis info for 1D.
- // Note that text_elements hold font_size, bold, italic...
// Border information for the plot window (not the full image size).
box_style image_border_; //!< rectangular border of all image width, color...
@@ -379,8 +379,8 @@
//x_label_info_(0, 0, "X Axis", x_axis_label_style_, center_align, horizontal),
//x_units_info_(0, 0, " (units)", x_value_label_style_, center_align, horizontal),
x_label_info_(0, 0, "", x_axis_label_style_, center_align, horizontal), // Null strings for now.
- x_label_value_(0, 0, "", x_value_label_style_, center_align, horizontal),
- x_units_info_(0, 0, "", x_value_label_style_, center_align, horizontal),
+ x_value_label_info_(0, 0, "", x_value_label_style_, center_align, horizontal), // X-axis tick value label, for example: "1.2" or "1.2e1".
+ x_units_info_(0, 0, "", x_value_label_style_, center_align, horizontal),
x_axis_(X, -10., +10., black, 1, 0, true, false, true),
y_axis_(Y, 0., +1., black, 1, 0, false, false, false), // Not used for 1D.
Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_2d_plot.hpp 2009-07-22 13:56:54 EDT (Wed, 22 Jul 2009)
@@ -21,7 +21,7 @@
#ifdef _MSC_VER
#pragma warning(push)
-# pragma warning (disable : 4800) // forcing value to bool 'true' or 'false' (performance warning)
+# pragma warning (disable : 4800) // forcing value to bool 'true' or 'false' (performance warning
# pragma warning (disable : 4512) // assignment operator could not be generated
#endif
@@ -367,11 +367,12 @@
text_element title_info_; //!< Plot title text.
text_element legend_header_; //!< Legend box header or title (if any).
text_element x_label_info_; //!< X axis label text, for example: "length".
- text_element x_label_value_; //!< X axis value text, for example: "1.2" or "1.2e+001"
+ text_element x_value_label_info_; //!< X axis tick value text, for example: "1.2" or "1.2e+001"
+
text_element y_label_info_; //!< Y axis label text, for example: "volume".
text_element x_units_info_; //!< X axis units, for example: "mm".
text_element y_units_info_; //!< Y axis units, for example: "min". (2-D only).
- text_element y_label_value_; //!< Y axis value text, for example: "1.2" or "1.2e+001"
+ text_element y_value_label_info_; //!< Y axis tick value text, for example: "1.2" or "1.2e+001"
text_style value_style_; //!< Style used for data point value label.
value_style x_values_style_; //!< Data point X value marking, font, size etc.
@@ -497,7 +498,7 @@
title_info_(0, 0, "", title_style_, center_align, horizontal),
x_label_info_(0, 0, "", x_axis_label_style_, center_align, horizontal),
x_units_info_(0, 0, "", x_value_label_style_, center_align, horizontal),
- x_label_value_(0, 0, "", x_value_label_style_, center_align, horizontal),
+ x_value_label_info_(0, 0, "", x_value_label_style_, center_align, horizontal),
x_axis_(X, -10., +10., black, 1, 0, true, false, true),
y_axis_(Y, -10., +10., black, 1, 0, true, false, true),
// Might fill in all values, but there are rather many for ticks_labels_style,
@@ -506,7 +507,7 @@
y_ticks_(Y, y_value_label_style_),
y_label_info_(0, 0, "", y_axis_label_style_, center_align, upward),
y_units_info_(0, 0, "", y_axis_label_style_, center_align, upward),
- y_label_value_(0, 0, "", y_value_label_style_, center_align, upward), //
+ y_value_label_info_(0, 0, "", y_value_label_style_, center_align, upward), //
text_margin_(2.), // for axis label text, as a multiplier of the font size.
image_border_(yellow, white, 2, 10, true, true), // margin should be about axis label font size.
plot_window_border_(lightslategray, svg_color(255, 255, 255), 2, 3, true, false),
@@ -1266,7 +1267,10 @@
image.g(detail::PLOT_Y_TICKS_VALUES).text(
x,
y,
- label.str(), y_value_label_style_, alignment, y_ticks_.label_rotation_);
+ label.str(),
+ //y_value_label_style_, doesn't work
+ y_value_label_info_.textstyle(),
+ alignment, y_ticks_.label_rotation_);
}
else
{ // ! y_ticks_.y_ticks_on_plot_window_ == 0 'Internal' - value labels either side of vertical Y-axis.
@@ -1275,8 +1279,9 @@
image.g(detail::PLOT_Y_TICKS_VALUES).text(
x,
y,
- label.str(),
- y_value_label_style_,
+ label.str(), // "1.23"
+ //y_value_label_style_, doesn't work
+ y_value_label_info_.textstyle(), // font etc.
alignment,
y_ticks_.label_rotation_);
}
@@ -1981,13 +1986,16 @@
svg_2d_plot& y_ticks_values_color(const svg_color& col);
svg_color y_ticks_values_color();
-
svg_2d_plot& y_ticks_values_precision(int p);
int y_ticks_values_precision();
-
svg_2d_plot& y_ticks_values_ioflags(std::ios_base::fmtflags f);
std::ios_base::fmtflags y_ticks_values_ioflags();
+ svg_2d_plot& y_ticks_values_font_size(unsigned int i);
+ unsigned int y_ticks_values_font_size();
+ svg_2d_plot& y_ticks_values_font_family(const std::string& family);
+ const std::string& y_ticks_values_font_family();
+
svg_2d_plot& y_values_font_size(unsigned int i);
unsigned int y_values_font_size();
svg_2d_plot& y_values_font_family(const std::string& family);
@@ -2758,8 +2766,32 @@
return y_ticks_.value_ioflags_;
}
+ svg_2d_plot& svg_2d_plot::y_ticks_values_font_size(unsigned int i)
+ { //! Set font size for Y axis ticks values (svg units, default pixels).
+ y_ticks_.value_label_style_.font_size(i);
+ return *this; //! \return reference to svg_2d_plot to make chainable.
+ }
+
+ unsigned int svg_2d_plot::y_ticks_values_font_size()
+ {//! \return font size for Y axis values.
+ // return derived().y_ticks_.value_label_style_.font_size();
+ return y_ticks_.value_label_style_.font_size();
+ }
+
+ svg_2d_plot& svg_2d_plot::y_ticks_values_font_family(const std::string& family)
+ { //! Set font family for Y axis ticks values.
+ y_ticks_.value_label_style_.font_family(family);
+ return *this; //! \return reference to svg_2d_plot to make chainable.
+ }
+
+ const std::string& svg_2d_plot::y_ticks_values_font_family()
+ { //! \return font family for Y axis ticks values.
+ return y_ticks_.value_label_style_.font_family();
+ }
+
+ // Y axis values.
svg_2d_plot& svg_2d_plot::y_values_font_size(unsigned int i)
- { //! \return font size for Y axis values.
+ { //! Set font size for Y axis values.
y_values_style_.values_text_style_.font_size(i);
return *this; //! \return reference to svg_2d_plot to make chainable.
}
Modified: sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp
==============================================================================
--- sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp (original)
+++ sandbox/SOC/2007/visualization/boost/svg_plot/svg_style.hpp 2009-07-22 13:56:54 EDT (Wed, 22 Jul 2009)
@@ -304,8 +304,7 @@
friend bool operator== (const text_style&, const text_style&);
friend bool operator!= (const text_style&, const text_style&);
-//protected:
-public:
+private:
int font_size_; //!< Font size (SVG units, default pixels).
std::string font_family_; //!< Font family, examples: "Arial", "Times New Roman", "Verdana", "Lucida Sans Unicode".
std::string weight_; //!< Font style, examples: "bold", "normal".
@@ -541,7 +540,7 @@
Prefix, separator and suffix are ignored when X or Y are shown separately using draw_plot_point_value.
*/
public:
- //private: // ??
+// private: // would require lots of set/get functions or lots of friend statements.
rotate_style value_label_rotation_; //< Direction point value labels written.
int value_precision_; //!< Decimal digits of precision of value.
std::ios_base::fmtflags value_ioflags_; //!< Control of scientific, fixed, hex etc.
@@ -1172,6 +1171,7 @@
// 4 might be better to permit thousands without using e format?
value_ioflags_(std::ios::dec), // IO formatting flags for the axis.
// Note that ALL the flags are set, overwriting any defaults, so std::dec is wise.
+ // This should give the default 'normal' iosflags with neither fixed, scientific nor showpoint set.
strip_e0s_(true), // strip superflous zeros and signs.
label_max_length_(0.), // length (estimated in SVG units) of longest label on axis.
label_max_space_(0.), // Space (estimated in SVG units) of longest label on axis
Modified: sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html
==============================================================================
--- sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html (original)
+++ sandbox/SOC/2007/visualization/libs/svg_plot/doc/html/index.html 2009-07-22 13:56:54 EDT (Wed, 22 Jul 2009)
@@ -33,7 +33,7 @@
</div></div>
<div><p class="copyright">Copyright © 2007 to 2009 Jake Voytko and Paul A. Bristow</p></div>
<div><div class="legalnotice">
-<a name="id1075284"></a><p>
+<a name="id983534"></a><p>
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)
</p>
@@ -159,7 +159,7 @@
</table></div>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: April 07, 2009 at 11:56:16 GMT</small></p></td>
+<td align="left"><p><small>Last revised: July 21, 2009 at 17:35:17 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
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