[/============================================================================
  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__sym__difference.xml]
[section:sym_difference_3 sym_difference]

'''<indexterm><primary>sym_difference</primary></indexterm>'''
Calculate the symmetric difference of two geometries. 

[heading Description]
The free function symmetric difference calculates the spatial set theoretic symmetric difference (XOR) of two geometries. 

[heading Synopsis]
``template<typename Geometry1, typename Geometry2, typename Collection>
void sym_difference(Geometry1 const & geometry1, Geometry2 const & geometry2, Collection & output_collection)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept ]]
[[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept ]]
[[Collection &] [output collection, either a multi-geometry, or a std::vector<Geometry> / std::deque<Geometry> etc ] [output_collection] [the output collection]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

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

[include reference/algorithms/sym_difference.qbk]


[endsect]

[section:sym_difference_4_with_strategy sym_difference (with strategy)]

'''<indexterm><primary>sym_difference</primary></indexterm>'''
Calculate the symmetric difference of two geometries. 

[heading Description]
The free function symmetric difference calculates the spatial set theoretic symmetric difference (XOR) of two geometries. 

[heading Synopsis]
``template<typename Geometry1, typename Geometry2, typename Collection, typename Strategy>
void sym_difference(Geometry1 const & geometry1, Geometry2 const & geometry2, Collection & output_collection,
                    Strategy const & strategy)``

[heading Parameters]

[table
[[Type] [Concept] [Name] [Description] ]
[[Geometry1 const &] [Any type fulfilling a Geometry Concept ] [geometry1] [A model of the specified concept ]]
[[Geometry2 const &] [Any type fulfilling a Geometry Concept ] [geometry2] [A model of the specified concept ]]
[[Collection &] [output collection, either a multi-geometry, or a std::vector<Geometry> / std::deque<Geometry> etc ] [output_collection] [the output collection ]]
[[Strategy const &] [Any type fulfilling a Sym_difference Strategy Concept ] [strategy] [The strategy which will be used for sym_difference calculations]]
]


[heading Header]
Either

`#include <boost/geometry.hpp>`


Or

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

[include reference/algorithms/sym_difference.qbk]


[endsect]

