[/============================================================================
  Boost.Geometry (aka GGL, Generic Geometry Library)

  Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands.
  Copyright (c) 2008-2013 Bruno Lalande, Paris, France.
  Copyright (c) 2009-2013 Mateusz Loskot, London, UK.

  Use, modification and distribution is subject to 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)
=============================================================================/]


[/ Generated by doxygen_xml2qbk 1.1.1, don't change, will be overwritten automatically]
[/ Generated from doxy/doxygen_output/xml/group__is__valid.xml]
[section:is_valid_1 is_valid]

'''<indexterm><primary>is_valid</primary></indexterm>'''
Checks if a geometry is valid (in the OGC sense) 

[heading Synopsis]
``template<typename Geometry>
bool is_valid(Geometry const & geometry)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
]


[heading Returns]
Returns true if the geometry is valid (in the OGC sense); furthermore, the following geometries are considered valid: multi-geometries with no elements, linear geometries containing spikes, areal geometries with duplicate (consecutive) points

[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/is_valid.hpp>`

[include reference/algorithms/is_valid.qbk]


[endsect]

[section:is_valid_2_with_message is_valid (with message)]

'''<indexterm><primary>is_valid</primary></indexterm>'''
Checks if a geometry is valid (in the OGC sense) 

[heading Synopsis]
``template<typename Geometry>
bool is_valid(Geometry const & geometry, std::string & message)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
[[std::string &] [] [message] [A string containing a message stating if the geometry is valid or not, and if not valid a reason why ]]
]


[heading Returns]
Returns true if the geometry is valid (in the OGC sense); furthermore, the following geometries are considered valid: multi-geometries with no elements, linear geometries containing spikes, areal geometries with duplicate (consecutive) points

[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/is_valid.hpp>`

[include reference/algorithms/is_valid_with_message.qbk]


[endsect]

[section:is_valid_3_with_message_and_strategy is_valid (with message and strategy)]

'''<indexterm><primary>is_valid</primary></indexterm>'''
Checks if a geometry is valid (in the OGC sense) 

[heading Synopsis]
``template<typename Geometry, typename Strategy>
bool is_valid(Geometry const & geometry, std::string & message, Strategy const & strategy)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
[[std::string &] [] [message] [A string containing a message stating if the geometry is valid or not, and if not valid a reason why ]]
[[Strategy const &] [Any type fulfilling a Is_valid Strategy Concept ] [strategy] [The strategy which will be used for is_valid calculations ]]
]


[heading Returns]
Returns true if the geometry is valid (in the OGC sense); furthermore, the following geometries are considered valid: multi-geometries with no elements, linear geometries containing spikes, areal geometries with duplicate (consecutive) points

[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/is_valid.hpp>`

[include reference/algorithms/is_valid_with_message.qbk]


[endsect]

[section:is_valid_2_with_strategy is_valid (with strategy)]

'''<indexterm><primary>is_valid</primary></indexterm>'''
Checks if a geometry is valid (in the OGC sense) 

[heading Synopsis]
``template<typename Geometry, typename Strategy>
bool is_valid(Geometry const & geometry, Strategy const & strategy)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
[[Strategy const &] [Any type fulfilling a Is_valid Strategy Concept ] [strategy] [The strategy which will be used for is_valid calculations ]]
]


[heading Returns]
Returns true if the geometry is valid (in the OGC sense); furthermore, the following geometries are considered valid: multi-geometries with no elements, linear geometries containing spikes, areal geometries with duplicate (consecutive) points

[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/is_valid.hpp>`

[include reference/algorithms/is_valid.qbk]


[endsect]

[section:is_valid_2_with_failure_value is_valid (with failure value)]

'''<indexterm><primary>is_valid</primary></indexterm>'''
Checks if a geometry is valid (in the OGC sense) 

[heading Synopsis]
``template<typename Geometry>
bool is_valid(Geometry const & geometry, validity_failure_type & failure)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
[[validity_failure_type &] [] [failure] [An enumeration value indicating that the geometry is valid or not, and if not valid indicating the reason why ]]
]


[heading Returns]
Returns true if the geometry is valid (in the OGC sense); furthermore, the following geometries are considered valid: multi-geometries with no elements, linear geometries containing spikes, areal geometries with duplicate (consecutive) points

[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/is_valid.hpp>`

[include reference/algorithms/is_valid_with_failure.qbk]


[endsect]

[section:is_valid_3_with_failure_value_and_strategy is_valid (with failure value and strategy)]

'''<indexterm><primary>is_valid</primary></indexterm>'''
Checks if a geometry is valid (in the OGC sense) 

[heading Synopsis]
``template<typename Geometry, typename Strategy>
bool is_valid(Geometry const & geometry, validity_failure_type & failure, Strategy const & strategy)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry const &] [Any type fulfilling a Geometry Concept ] [geometry] [A model of the specified concept ]]
[[validity_failure_type &] [] [failure] [An enumeration value indicating that the geometry is valid or not, and if not valid indicating the reason why ]]
[[Strategy const &] [Any type fulfilling a Is_valid Strategy Concept ] [strategy] [The strategy which will be used for is_valid calculations ]]
]


[heading Returns]
Returns true if the geometry is valid (in the OGC sense); furthermore, the following geometries are considered valid: multi-geometries with no elements, linear geometries containing spikes, areal geometries with duplicate (consecutive) points

[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

`#include <boost/geometry/algorithms/is_valid.hpp>`

[include reference/algorithms/is_valid_with_failure.qbk]


[endsect]

