Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r78198 - in sandbox/gtl: boost/polygon doc
From: sydorchuk.andriy_at_[hidden]
Date: 2012-04-25 19:21:05


Author: asydorchuk
Date: 2012-04-25 19:21:04 EDT (Wed, 25 Apr 2012)
New Revision: 78198
URL: http://svn.boost.org/trac/boost/changeset/78198

Log:
Updating segment docs/sources.

Text files modified:
   sandbox/gtl/boost/polygon/segment_concept.hpp | 37 ++++---
   sandbox/gtl/boost/polygon/segment_data.hpp | 6
   sandbox/gtl/doc/gtl_segment_concept.htm | 187 ++++++++++++++++++---------------------
   3 files changed, 110 insertions(+), 120 deletions(-)

Modified: sandbox/gtl/boost/polygon/segment_concept.hpp
==============================================================================
--- sandbox/gtl/boost/polygon/segment_concept.hpp (original)
+++ sandbox/gtl/boost/polygon/segment_concept.hpp 2012-04-25 19:21:04 EDT (Wed, 25 Apr 2012)
@@ -238,7 +238,7 @@
   contains(const Segment& segment,
            const typename segment_point_type<Segment>::type& point,
            bool consider_touch = true ) {
- if(on_above_or_below(segment, point) == 0) {
+ if(!on_above_or_below(segment, point)) {
       rectangle_data<typename segment_coordinate_type<Segment>::type> rect;
       set_points(rect, low(segment), high(segment));
       if(area(rect) == 0.0) {
@@ -247,7 +247,7 @@
                  !equivalence(point, high(segment));
         }
       }
- return contains(rect, value, consider_touch);
+ return contains(rect, point, consider_touch);
     }
     return false;
   }
@@ -267,11 +267,11 @@
>::type,
     bool
>::type
- contains(const Segment1& segment,
- const Segment2& value,
+ contains(const Segment1& segment1,
+ const Segment2& segment2,
            bool consider_touch = true) {
- return contains(segment, get(value, LOW), consider_touch) &&
- contains(segment, get(value, HIGH), consider_touch);
+ return contains(segment1, get(segment2, LOW), consider_touch) &&
+ contains(segment1, get(segment2, HIGH), consider_touch);
   }
 
   struct y_s_low : gtl_yes {};
@@ -446,7 +446,7 @@
 
   struct y_s_transform : gtl_yes {};
 
- template <typename Segment, typename transform_type>
+ template <typename Segment, typename Transform>
   typename enable_if<
     typename gtl_and<
       y_s_transform,
@@ -456,7 +456,7 @@
>::type,
     Segment
>::type &
- transform(Segment& segment, const transform_type& val) {
+ transform(Segment& segment, const Transform& val) {
     typename segment_point_type<Segment>::type l = low(segment), h = high(segment);
     low(segment, transform(l, val));
     high(segment, transform(h, val));
@@ -529,25 +529,27 @@
   struct y_s_e_dist : gtl_yes {};
 
   // distance from a point to a segment
- template <typename Segment>
+ template <typename Segment, typename Point>
   typename enable_if<
- typename gtl_and<
+ typename gtl_and_3<
       y_s_e_dist,
       typename is_segment_concept<
         typename geometry_concept<Segment>::type
+ >::type,
+ typename is_point_concept<
+ typename geometry_concept<Point>::type
>::type
>::type,
     typename segment_distance_type<Segment>::type
>::type
- euclidean_distance(const Segment& segment,
- const typename segment_point_type<Segment>::type& position) {
+ euclidean_distance(const Segment& segment, const Point& point) {
     typedef typename segment_distance_type<Segment>::type Unit;
     Unit x1 = x(low(segment));
     Unit y1 = y(low(segment));
     Unit x2 = x(high(segment));
     Unit y2 = y(high(segment));
- Unit X = x(position);
- Unit Y = y(position);
+ Unit X = x(point);
+ Unit Y = y(point);
     Unit A = X - x1;
     Unit B = Y - y1;
     Unit C = x2 - x1;
@@ -555,9 +557,9 @@
     Unit length_sq = C * C + D * D;
     Unit param = (A * C + B * D)/length_sq;
     if(param > 1.0) {
- return euclidean_distance(high(segment), position);
+ return euclidean_distance(high(segment), point);
     } else if(param < 0.0) {
- return euclidean_distance(low(segment), position);
+ return euclidean_distance(low(segment), point);
     }
     Unit denom = sqrt(length_sq);
     if(denom == 0.0)
@@ -584,8 +586,7 @@
>::type,
     typename segment_distance_type<Segment1>::type
>::type
- euclidean_distance(const Segment1& segment1,
- const Segment2& segment2) {
+ euclidean_distance(const Segment1& segment1, const Segment2& segment2) {
     typename segment_distance_type<Segment1>::type
         result1 = euclidean_distance(segment1, low(segment2)),
         result2 = euclidean_distance(segment1, high(segment2));

Modified: sandbox/gtl/boost/polygon/segment_data.hpp
==============================================================================
--- sandbox/gtl/boost/polygon/segment_data.hpp (original)
+++ sandbox/gtl/boost/polygon/segment_data.hpp 2012-04-25 19:21:04 EDT (Wed, 25 Apr 2012)
@@ -49,7 +49,7 @@
     template <typename Segment>
     inline segment_data& operator=(const Segment& that);
 
- inline const point_type& get(direction_1d dir) const {
+ inline point_type get(direction_1d dir) const {
       return points_[dir.to_int()];
     }
 
@@ -57,14 +57,14 @@
       points_[dir.to_int()] = point;
     }
 
- inline const point_type& low() const { return points_[0]; }
+ inline point_type low() const { return points_[0]; }
 
     inline point_type& low(const point_type& low) {
       points_[0] = low;
       return *this;
     }
 
- inline const point_type& high() const {return points_[1]; }
+ inline point_type high() const {return points_[1]; }
 
     inline point_type& high(const point_type& high) {
         points_[1] = high;

Modified: sandbox/gtl/doc/gtl_segment_concept.htm
==============================================================================
--- sandbox/gtl/doc/gtl_segment_concept.htm (original)
+++ sandbox/gtl/doc/gtl_segment_concept.htm 2012-04-25 19:21:04 EDT (Wed, 25 Apr 2012)
@@ -1,5 +1,6 @@
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head><!--
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:(null)1="http://www.w3.org/TR/REC-html40" lang="en"><head>
+<!--
     Copyright 2009-2010 Intel Corporation
     license banner
 --><title>Boost Polygon Library: Segment Concept</title>
@@ -14,7 +15,7 @@
 
   <tbody>
     <tr>
- <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top">
+ <td style="background-color: rgb(238, 238, 238);" valign="top" nowrap="1">
       <div style="padding: 5px;" align="center"> <img src="images/boost.png" border="0" height="86" width="277" /><a title="www.boost.org home page" href="http://www.boost.org/" tabindex="2" style="border: medium none ;"> </a> </div>
       <div style="margin: 5px;">
       <h3 class="navbar">Contents</h3>
@@ -106,35 +107,33 @@
 segment traits.&nbsp; Specialization of these traits is required for
 types that don't conform to the default behavior.</p>
       
- <p><span style="font-family: Courier New,Courier,monospace;">template &lt;typename T&gt;<br />
-struct segment_traits {<br />
-&nbsp; typedef typename T::coordinate_type coordinate_type;<br />
-&nbsp; typedef typename T::point_type point_type;<br />
- <br />
-&nbsp; static inline point_type get(const T&amp; segment, direction_1d dir) {<br />
-&nbsp;&nbsp;&nbsp; return segment.get(dir);<br />
-&nbsp; }<br />
-};</span><span style="font-family: Courier New,Courier,monospace;"></span><br />
- <br /><span style="font-family: Courier New,Courier,monospace;">template &lt;typename T&gt;<br />
+ <p><span style="font-family: Courier New,Courier,monospace;"></span><span style="font-family: Courier New,Courier,monospace;">template &lt;typename Segment&gt;</span><br style="font-family: Courier New,Courier,monospace;" />
+ <span style="font-family: Courier New,Courier,monospace;">struct segment_traits {</span><br style="font-family: Courier New,Courier,monospace;" />
+ <span style="font-family: Courier New,Courier,monospace;">&nbsp; typedef typename Segment::coordinate_type coordinate_type;</span><br style="font-family: Courier New,Courier,monospace;" />
+ <span style="font-family: Courier New,Courier,monospace;">&nbsp; typedef typename Segment::point_type point_type;</span><br style="font-family: Courier New,Courier,monospace;" />
+ <br style="font-family: Courier New,Courier,monospace;" />
+ <span style="font-family: Courier New,Courier,monospace;">&nbsp; static inline point_type get(const Segment&amp; segment, direction_1d dir) {</span><br style="font-family: Courier New,Courier,monospace;" />
+ <span style="font-family: Courier New,Courier,monospace;">&nbsp;&nbsp;&nbsp; return segment.get(dir);</span><br style="font-family: Courier New,Courier,monospace;" />
+ <span style="font-family: Courier New,Courier,monospace;">&nbsp; }</span><br style="font-family: Courier New,Courier,monospace;" />
+ <span style="font-family: Courier New,Courier,monospace;">};</span><br />
+ <br /><span style="font-family: Courier New,Courier,monospace;">template &lt;typename Segment&gt;<br />
 struct segment_mutable_traits {<br />
-&nbsp; template &lt;typename Point1&gt;<br />
-&nbsp; static inline void set(T&amp; segment, direction_1d dir, const Point1&amp; value) {<br />
-&nbsp;&nbsp;&nbsp; typename segment_traits&lt;T&gt;::point_type p1;<br />
+&nbsp; template &lt;typename Point&gt;<br />
+&nbsp; static inline void set(Segment&amp; segment, direction_1d dir, const Point&amp; value) {<br />
+&nbsp;&nbsp;&nbsp; typename segment_traits&lt;Segment&gt;::point_type p1;<br />
 &nbsp;&nbsp;&nbsp; assign(p1, value);<br />
-&nbsp;&nbsp;&nbsp; segment.set(dir, value);<br />
+&nbsp;&nbsp;&nbsp; segment.set(dir, p1);<br />
 &nbsp; }<br />
       <br />
 &nbsp; template &lt;typename Point1, typename Point2&gt;<br />
-&nbsp; static inline T construct(const Point1&amp; low_value,<br />
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-const Point2&amp; high_value) {<br />
-&nbsp;&nbsp;&nbsp; typename segment_traits&lt;T&gt;::point_type p1, p2;<br />
+&nbsp; static inline Segment construct(const Point1&amp; low_value, const Point2&amp; high_value) {<br />
+&nbsp;&nbsp;&nbsp; typename segment_traits&lt;Segment&gt;::point_type p1, p2;<br />
 &nbsp;&nbsp;&nbsp; assign(p1, low_value);<br />
 &nbsp;&nbsp;&nbsp; assign(p2, high_value);<br />
-&nbsp;&nbsp;&nbsp; return T(p1, p2);<br />
+&nbsp;&nbsp;&nbsp; return Segment(p1, p2);<br />
 &nbsp; }<br />
 };<br />
- </span><span style="font-family: Courier New,Courier,monospace;"></span></p>
+ </span><span style="font-family: Courier New,Courier,monospace;" /></p>
 
       <p> Example code custom_segment.cpp
 demonstrates how to map a user defined segment class to the library segment_concept.</p>
@@ -143,39 +142,40 @@
         <tbody>
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;typename T&gt;<br />point_type&lt;T&gt; <b>get</b>(const T&amp; segment, direction_1d dir)</font></td>
+&lt;typename Segment&gt;<br />point_type <b>get</b>(const Segment&amp; segment, direction_1d dir)</font></td>
             <td>Expects a model of segment.&nbsp; Returns the low or high endpoint of the segment, depending on
-the direction_1d value.<font face="Courier New"><br />
-&nbsp;</font></td>
+the direction_1d value.<font face="Courier New">&nbsp;</font></td>
           </tr>
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;typename T, typename point_type&gt;<br />
-void <b>set</b>(T&amp; segment, direction_1d dir,<br />
-&nbsp;&nbsp;&nbsp; const point_type&amp; point)</font></td>
- <td>Expects a model of segment. Sets the low or high endpoint of the segment to the point, depending on the direction_1d&nbsp; value.</td>
+&lt;typename </font><font face="Courier New">Segment</font><font face="Courier New">, typename Point&gt;<br />
+void <b>set</b>(</font><font face="Courier New">Segment</font><font face="Courier New">&amp; segment, direction_1d dir,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const point_type&amp; </font><font face="Courier New">Point</font><font face="Courier New">)</font></td>
+ <td>Expects
+a model of segment. Sets the low or high endpoint of the segment to the
+point, depending on the direction_1d&nbsp; value.</td>
           </tr>
           <tr>
- <td width="586"><font face="Courier New">template &lt;typename T, typename T2, typename T3&gt;<br />
-T <b>construct</b>(const T2&amp; low_value, const T3&amp; high_value)</font></td>
+ <td width="586"><font face="Courier New">template &lt;typename Segment, typename Point1, typename Point2&gt;<br />
+Segment<b> construct</b>(const Point1&amp; low, const Point2&amp; high)</font></td>
             <td>Construct an object that is a model of segment given both endpoints.</td>
           </tr>
           <tr>
- <td style="vertical-align: top;"><font face="Courier New">template &lt;typename T, typename T2&gt;<br />
-T <span style="font-weight: bold;">copy_construct</span>(const T2&amp; segment)</font></td>
+ <td style="vertical-align: top;"><font face="Courier New">template &lt;typename Segment1, typename </font><font face="Courier New">Segment2</font><font face="Courier New">&gt;<br /></font><font face="Courier New">Segment1</font><font face="Courier New"> <span style="font-weight: bold;">copy_construct</span>(const </font><font face="Courier New">Segment2</font><font face="Courier New">&gt;</font><font face="Courier New">&amp; segment)</font></td>
             <td style="vertical-align: middle; text-align: left;">Copy construct an object that is a model of segment given another segment.</td>
           </tr>
 <tr>
             <td width="586"><font face="Courier New">template
-&lt;typename T1, typename T2&gt;<br />
-T1&amp; <b>assign</b>(T1&amp; lvalue, const T2&amp; rvalue)</font></td>
+&lt;typename </font><font face="Courier New">Segment1</font><font face="Courier New">, typename </font><font face="Courier New">Segment2&gt;</font><br />
+ <font face="Courier New">Segment1</font><font face="Courier New">&amp; <b>assign</b>(</font><font face="Courier New">Segment1</font><font face="Courier New">&amp; lvalue, const </font><font face="Courier New">Segment2</font><font face="Courier New">&amp; rvalue)</font></td>
             <td>Copies data from right object that models segment into
 left object that models segment.</td>
           </tr>
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;typename T, typename T2&gt;<br />
-bool <b>equivalence</b>(const T&amp; segment, const T2&amp; segment2)</font></td>
+&lt;typename </font><font face="Courier New">Segment1</font><font face="Courier New">, typename </font><font face="Courier New">Segment1</font><font face="Courier New">&gt;<br />
+bool <b>equivalence</b>(const </font><font face="Courier New">Segment1</font><font face="Courier New">&amp; segment1,<br />
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const </font><font face="Courier New">Segment1</font><font face="Courier New">&amp; segment2)</font></td>
             <td>Given two objects that model segment, compares and
 returns true if their low and high values are respectively equal to each
 other.</td>
@@ -183,69 +183,64 @@
           <tr>
             <td style="vertical-align: top;"><span style="font-family: Courier New,Courier,monospace;">template &lt;typename segment_type&gt;</span><br style="font-family: Courier New,Courier,monospace;" />
             <span style="font-family: Courier New,Courier,monospace;">bool </span><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">on_above_or_below</span><span style="font-family: Courier New,Courier,monospace;">(const segment_type&amp; segment,</span><br style="font-family: Courier New,Courier,monospace;" />
- <span style="font-family: Courier New,Courier,monospace;">&nbsp;&nbsp;&nbsp; point_type value)</span><br />
+ <span style="font-family: Courier New,Courier,monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+const point_type&amp; point)</span><br />
             </td>
- <td style="vertical-align: top;"><br />
+ <td>Returns true if an object that is a model of segment and the given point are collinear, else false.<br />
             </td>
           </tr>
           <tr>
- <td style="vertical-align: top;"><span style="font-family: Courier New,Courier,monospace;">template &lt;typename segment_type&gt;</span><br style="font-family: Courier New,Courier,monospace;" />
- <span style="font-family: Courier New,Courier,monospace;">bool </span><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">contains</span><span style="font-family: Courier New,Courier,monospace;">(const segment_type&amp; segment,</span><br style="font-family: Courier New,Courier,monospace;" />
+ <td style="vertical-align: top;"><span style="font-family: Courier New,Courier,monospace;">template &lt;typename </span><font face="Courier New">Segment</font><span style="font-family: Courier New,Courier,monospace;">&gt;</span><br style="font-family: Courier New,Courier,monospace;" />
+ <span style="font-family: Courier New,Courier,monospace;">bool </span><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">contains</span><span style="font-family: Courier New,Courier,monospace;">(const </span><font face="Courier New">Segment</font><span style="font-family: Courier New,Courier,monospace;">&amp; segment,</span><br style="font-family: Courier New,Courier,monospace;" />
             <span style="font-family: Courier New,Courier,monospace;">&nbsp;&nbsp;&nbsp; point_type value,</span><span style="font-family: Courier New,Courier,monospace;"> bool consider_touch)</span><br />
             </td>
- <td style="vertical-align: top;"><br />
+ <td>Returns true if an first object that is a model of segment contains the given point, else false.<br />
             </td>
           </tr>
           <tr>
- <td style="vertical-align: top;"><span style="font-family: Courier New,Courier,monospace;">template &lt;typename segment_type, typename segment_type_2&gt;</span><br style="font-family: Courier New,Courier,monospace;" />
-
- <span style="font-family: Courier New,Courier,monospace;">bool </span><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">contains</span><span style="font-family: Courier New,Courier,monospace;">(const segment_type&amp; segment,</span><br style="font-family: Courier New,Courier,monospace;" />
+ <td style="vertical-align: top;"><span style="font-family: Courier New,Courier,monospace;">template &lt;typename Segment1, typename Segment2&gt;</span><br style="font-family: Courier New,Courier,monospace;" />
 
- <span style="font-family: Courier New,Courier,monospace;">&nbsp;&nbsp;&nbsp; const segment_type_2&amp; value,</span><br style="font-family: Courier New,Courier,monospace;" />
+ <span style="font-family: Courier New,Courier,monospace;">bool </span><span style="font-weight: bold; font-family: Courier New,Courier,monospace;">contains</span><span style="font-family: Courier New,Courier,monospace;">(const </span><span style="font-family: Courier New,Courier,monospace;">Segment1</span><span style="font-family: Courier New,Courier,monospace;">&amp; segment1,</span><br style="font-family: Courier New,Courier,monospace;" />
 
- <span style="font-family: Courier New,Courier,monospace;">&nbsp;&nbsp;&nbsp; bool consider_touch)</span></td>
- <td style="vertical-align: top;"><br />
+ <span style="font-family: Courier New,Courier,monospace;">&nbsp;&nbsp;&nbsp; const </span><span style="font-family: Courier New,Courier,monospace;">Segment</span><span style="font-family: Courier New,Courier,monospace;">2&amp; segment2,</span> <span style="font-family: Courier New,Courier,monospace;">bool consider_touch)</span></td>
+ <td>Returns true if the first of the objects contains the second one, else false. Both objects represent a model of segment.<br />
             </td>
           </tr>
           <tr>
- <td style="vertical-align: top; font-family: Courier New,Courier,monospace;">template &lt;typename segment_type&gt;<br />
-point_type <span style="font-weight: bold;">low</span>(const segment_type&amp; segment)<br />
+ <td style="vertical-align: top; font-family: Courier New,Courier,monospace;">template &lt;typename <span style="font-family: Courier New,Courier,monospace;">Segment</span>&gt;<br />
+point_type <span style="font-weight: bold;">low</span>(const <span style="font-family: Courier New,Courier,monospace;">Segment</span>&amp; segment)<br />
             </td>
- <td style="vertical-align: top;"><br />
+ <td>Gets the low endpoint of an object that is a model of segment.<br />
             </td>
           </tr>
           <tr>
- <td style="vertical-align: top; font-family: Courier New,Courier,monospace;">template &lt;typename segment_type&gt;<br />
-point_type <span style="font-weight: bold;">high</span>(const segment_type&amp; segment)</td>
- <td style="vertical-align: top;"><br />
+ <td style="vertical-align: top; font-family: Courier New,Courier,monospace;">template &lt;typename <span style="font-family: Courier New,Courier,monospace;">Segment</span>&gt;<br />
+point_type <span style="font-weight: bold;">high</span>(const <span style="font-family: Courier New,Courier,monospace;">Segment</span>&amp; segment)</td>
+ <td>Gets the high endpoint of an object that is a model of segment.<br />
             </td>
           </tr>
           <tr>
- <td style="vertical-align: top; font-family: Courier New,Courier,monospace;">template &lt;typename segment_type&gt;<br />
-point_type <span style="font-weight: bold;">center</span>(const segment_type&amp; segment)</td>
- <td style="vertical-align: top;"><br />
+ <td style="vertical-align: top; font-family: Courier New,Courier,monospace;">template &lt;typename <span style="font-family: Courier New,Courier,monospace;">Segment</span>&gt;<br />
+point_type <span style="font-weight: bold;">center</span>(const <span style="font-family: Courier New,Courier,monospace;">Segment</span>&amp; segment)</td>
+ <td>Gets the centeral point of an object that is a model of segment.<br />
             </td>
           </tr>
           <tr>
- <td style="vertical-align: top; font-family: Courier New,Courier,monospace;">template &lt;typename segment_type&gt;<br />
-point_type <span style="font-weight: bold;">low</span>(const segment_type&amp; segment,<br />
-&nbsp;&nbsp;&nbsp; const segment_type::point_type&amp; v)</td>
- <td style="vertical-align: top;"><br />
+ <td style="vertical-align: top; font-family: Courier New,Courier,monospace;">template &lt;typename <span style="font-family: Courier New,Courier,monospace;">Segment</span>&gt;<br />void <span style="font-weight: bold;">low</span>(<span style="font-family: Courier New,Courier,monospace;">Segment</span>&amp; segment, const point_type&amp; point)</td>
+ <td>Sets the low endpoint of an object that is a model of segment.<br />
             </td>
           </tr>
           <tr>
- <td style="vertical-align: top; font-family: Courier New,Courier,monospace;">template &lt;typename segment_type&gt;<br />
-point_type <span style="font-weight: bold;">high</span>(const segment_type&amp; segment,<br />
-
-&nbsp;&nbsp;&nbsp; const segment_type::point_type&amp; v)</td>
- <td style="vertical-align: top;"><br />
+ <td style="vertical-align: top; font-family: Courier New,Courier,monospace;">template &lt;typename <span style="font-family: Courier New,Courier,monospace;">Segment</span>&gt;<br />
+void <span style="font-weight: bold;">high</span>(<span style="font-family: Courier New,Courier,monospace;">Segment</span>&amp; segment, const point_type&amp; point)</td>
+ <td>Sets the high endpoint of an object that is a model of segment.<br />
             </td>
           </tr>
           <tr>
- <td style="vertical-align: top;"><span style="font-family: Courier New,Courier,monospace;">template &lt;typename segment_type&gt;</span><br style="font-family: Courier New,Courier,monospace;" />
- <span style="font-family: Courier New,Courier,monospace;">distance_type <span style="font-weight: bold;">length</span>(const segment_type&amp; segment)</span><br />
+ <td style="vertical-align: top;"><span style="font-family: Courier New,Courier,monospace;">template &lt;typename </span><span style="font-family: Courier New,Courier,monospace;">Segment</span><span style="font-family: Courier New,Courier,monospace;">&gt;</span><br style="font-family: Courier New,Courier,monospace;" />
+ <span style="font-family: Courier New,Courier,monospace;">distance_type <span style="font-weight: bold;">length</span>(const </span><span style="font-family: Courier New,Courier,monospace;">Segment</span><span style="font-family: Courier New,Courier,monospace;">&amp; segment)</span><br />
             </td>
- <td style="vertical-align: top;"><br />
+ <td>Returns the length of an object that is a model of segment.<br />
             </td>
           </tr>
 
@@ -254,72 +249,66 @@
           
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;typename segment_type&gt;<br />segment_type&amp; <b>scale_up</b>(segment_type&amp; </font><font face="Courier New">segment</font><font face="Courier New">, <br />&nbsp;&nbsp;&nbsp; unsigned_area_type factor)</font></td>
+&lt;typename </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&gt;<br /></font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; <b>scale_up</b>(</font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; </font><font face="Courier New">segment</font><font face="Courier New">, <br />&nbsp;&nbsp;&nbsp; unsigned_area_type factor)</font></td>
             <td>Multiplies x and y coordinates of both endpoints of an object that models segment by unsigned factor.</td>
           </tr>
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;typename </font><font face="Courier New">segment</font><font face="Courier New">_type&gt;<br />
- </font><font face="Courier New">segment</font><font face="Courier New">_type&amp; <b>scale_down</b>(</font><font face="Courier New">segment</font><font face="Courier New">_type&amp; </font><font face="Courier New">segment</font><font face="Courier New">, <br />
+&lt;typename </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&gt;<br />
+ </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; <b>scale_down</b>(</font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; </font><font face="Courier New">segment</font><font face="Courier New">, <br />
 &nbsp;&nbsp;&nbsp; unsigned_area_type factor)</font></td>
             <td>Divides x and y coordinates of both endpoints of an object that models segment by unsigned factor.</td>
           </tr>
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;typename </font><font face="Courier New">segment</font><font face="Courier New">_type, typename scaling_type&gt;<br />
- </font><font face="Courier New">segment</font><font face="Courier New">_type&amp; <b>scale</b>(</font><font face="Courier New">segment</font><font face="Courier New">_type&amp; </font><font face="Courier New">segment</font><font face="Courier New">,<br />
+&lt;typename </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">, typename scaling_type&gt;<br />
+ </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; <b>scale</b>(</font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; </font><font face="Courier New">segment</font><font face="Courier New">,<br />
 &nbsp;&nbsp;&nbsp; const scaling_type&amp; factor) </font></td>
             <td>Calls
-the scale member function of scaling type on the low and high point of
+the scale member function of scaling type on the low and high endpoint of
 an object that models segment and updates the segment with the
 scaled points.</td>
           </tr>
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;typename segment_type, typename transform_type&gt;<br />
-segment_type&amp; <b>transform</b>(segment_type&amp; segment,<br />
-&nbsp;&nbsp;&nbsp; const transform_type&amp; transform) </font></td>
+&lt;typename </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">, typename Transform&gt;<br /></font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; <b>transform</b>(</font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; segment,<br />
+&nbsp;&nbsp;&nbsp; const </font><font face="Courier New">Transform</font><font face="Courier New">&amp; transform) </font></td>
             <td>Calls the transform member function of transform type
 on the low and high endpoints of an object that models segment and updates the segment with the transformed endpoints.</td>
           </tr>
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;typename </font><font face="Courier New">segment</font><font face="Courier New">_type&gt;<br />
- </font><font face="Courier New">segment</font><font face="Courier New">_type&amp; <b>move</b>(</font><font face="Courier New">segment</font><font face="Courier New">_type&amp; segment, orientation_2d<br />
+&lt;typename </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&gt;<br />
+ </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; <b>move</b>(</font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; segment, orientation_2d<br />
 &nbsp;&nbsp;&nbsp; coordinate_difference displacement)</font></td>
             <td>Adds displacement value to the coordinates of both endpoints of an object
 that models segment indicated by the orientation_2d.</td>
           </tr>
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;segment_type&gt;<br />
-</font><font face="Courier New">segment_type</font><font face="Courier New">&amp; <b>convolve</b>(</font><font face="Courier New">segment_type</font><font face="Courier New">&amp; segment,<br />
-&nbsp;&nbsp;&nbsp; const point_type&amp; b)</font></td>
- <td>Convolves both endpoints of an object that models segment with b.<br />
+&lt;</font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&gt;<br />
+ </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; <b>convolve</b>(</font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; segment, const point_type&amp; b)</font></td>
+ <td>Convolves both endpoints of an object that models a segment with b.<br />
 </td>
           </tr>
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;segment_type&gt;<br />
- </font><font face="Courier New">segment_type</font><font face="Courier New">&amp; <b>deconvolve</b>(</font><font face="Courier New">segment_type</font><font face="Courier New">&amp; segment,<br />
-&nbsp;&nbsp;&nbsp; const point_type&amp; b)</font></td>
- <td>Deconvolves both endpoints of an object that models segment with b. </td>
+&lt;</font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&gt;<br />
+ </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; <b>deconvolve</b>(</font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; segment, const point_type&amp; b)</font></td>
+ <td>Deconvolves both endpoints of an object that models a segment with b. </td>
           </tr>
           <tr>
             <td width="586"><font face="Courier New">template
-&lt;typename segment_type&gt;<br />distance_type <b>euclidean_distance</b>(<br />
-&nbsp;&nbsp;&nbsp; const segment_type&amp; segment,<br />&nbsp;&nbsp;&nbsp;
-const point_type&amp; point)</font></td>
- <td>Returns the distance from an object that models segment
-to a second object that models point.</td>
+&lt;typename </font><span style="font-family: Courier New,Courier,monospace;">Segment, typename Point</span><font face="Courier New">&gt;<br />distance_type <b>euclidean_distance</b>(<br />
+&nbsp;&nbsp;&nbsp; const </font><span style="font-family: Courier New,Courier,monospace;">Segment</span><font face="Courier New">&amp; segment, const Point&amp; point)</font></td>
+ <td>Returns the distance from an object that is a model of segment
+to an object that is a model of point.</td>
           </tr>
           <tr>
             <td style="vertical-align: top;"><font face="Courier New">template
-&lt;typename segment_type, typename segment_type_2&gt;<br />distance_type <b>euclidean_distance</b>(<br />
-&nbsp;&nbsp;&nbsp; const segment_type&amp; segment,<br />&nbsp;&nbsp;&nbsp;
-const segment_type_2&amp; b)</font></td>
- <td style="vertical-align: middle;">Returns the distance from an object that models segment
-to a second object that models segment.</td>
+&lt;typename Segment1, typename </font><font face="Courier New">Segment2</font><font face="Courier New">&gt;<br />distance_type <b>euclidean_distance</b>(<br />
+&nbsp;&nbsp;&nbsp; const </font><font face="Courier New">Segment1</font><font face="Courier New">&amp; segment1, const </font><font face="Courier New">Segment2</font><font face="Courier New">&amp; segment2)</font></td>
+ <td style="vertical-align: middle;">Returns the distance between two objects that are models of segment.</td>
           </tr>
           <tr>
             <td style="vertical-align: top;"><br />
@@ -480,7 +469,7 @@
       </td>
     </tr>
     <tr>
- <td style="background-color: rgb(238, 238, 238);" nowrap="1" valign="top"> &nbsp;</td>
+ <td style="background-color: rgb(238, 238, 238);" valign="top" nowrap="1"> &nbsp;</td>
       <td style="padding-left: 10px; padding-right: 10px; padding-bottom: 10px;" valign="top" width="100%">
       <table class="docinfo" id="table3" frame="void" rules="none">
         <colgroup> <col class="docinfo-name" /><col class="docinfo-content" /> </colgroup> <tbody valign="top">


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