title: check polygon features in boost
body: <p>I recently tried to work on boost::geometry library. I found the code below </p>
  
  <pre><code>#include &lt;boost/geometry.hpp&gt;
  #include &lt;boost/geometry/geometries/point.hpp&gt;
  #include &lt;boost/geometry/geometries/polygon.hpp&gt;
  
  #include &lt;iostream&gt;
  
  namespace bg = boost::geometry;
  
  int main(void)
  {
      typedef bg::model::point&lt;double, 2, bg::cs::cartesian&gt; point;
      typedef bg::model::polygon&lt;point&gt; polygon;
  
      //! create a polygon
      polygon p;
      p.outer().push_back(point(0., 0.));
      p.outer().push_back(point(1., 0.));
      p.outer().push_back(point(1., 2.));
      p.outer().push_back(point(2., 3.));
      p.outer().push_back(point(0., 4.));
  
      //! display it
      std::cout &lt;&lt; "generated polygon:" &lt;&lt; std::endl;
      std::cout &lt;&lt; bg::wkt&lt;polygon&gt;(p) &lt;&lt; std::endl;
  
      return 0;
  }
  </code></pre>
  
  <p>Any idea for checking:</p>
  
  <ol>
  <li>Is it a simple polygon?</li>
  <li>What is the orientation (clockwise, counterclockwise)</li>
  <li>Is it closed?</li>
  </ol>
  
  <p>By the way, I am using boost version 1.53.0.</p>