|  | Home | Libraries | People | FAQ | More | 
The Ring Concept describes the requirements for a ring type. All algorithms in Boost.Geometry will check any geometry arguments against the concept requirements.
| ![[Note]](../../../../../../../doc/src/images/note.png) | Note | 
|---|---|
| Also called linear ring, but we explicitly refer to a filled feature here | 
The Ring Concept is defined as following:
traits::tag
              defining ring_tag as
              type
            range_value<...>::type
              must fulfill the Point
              Concept
            traits::point_order
              defining the order or orientation of its points, clockwise
              or counterclockwise
            traits::closure
              defining the closure, open
              or closed
            Besides the Concepts, which are checks on compile-time, there are rules that valid rings must fulfill. See the Polygon Concept for more information on the rules a polygon (and also a ring) must fulfill.
#include
              boost/geometry/geometries/adapted/boost_polygon/ring.hpp>)
            #include
              boost/geometry/geometries/adapted/std_as_ring.hpp>)
            #include
              boost/geometry/geometries/adapted/std_as_ring.hpp>)
            | ![[Note]](../../../../../../../doc/src/images/note.png) | Note | 
|---|---|
| See also the sample in the Boost.Range documentation showing how a type can be adapted to a Boost.Range to fulfill the concept of a Ring |