[Boost-bugs] [Boost C++ Libraries] #10531: Upgrade to boost 1.56.0 breaks compilation of boost::polygon code

Subject: [Boost-bugs] [Boost C++ Libraries] #10531: Upgrade to boost 1.56.0 breaks compilation of boost::polygon code
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-09-23 18:15:03


#10531: Upgrade to boost 1.56.0 breaks compilation of boost::polygon code
------------------------+------------------------------
 Reporter: fiesh@… | Type: Bugs
   Status: new | Milestone: To Be Determined
Component: None | Version: Boost 1.56.0
 Severity: Regression | Keywords:
------------------------+------------------------------
 The following code compiled until 1.55.0. It stopped doing so from 1.56.0
 on. I didn't mark the component as boost::polygon since it appears it
 wasn't changed and might be a problem related to something else.

 {{{
 #include <vector>
 #include <boost/polygon/polygon.hpp>
 int main()
 {
         typedef boost::polygon::polygon_data<int> Polygon;
         typedef boost::polygon::polygon_set_data<int> PolygonSet;
         PolygonSet ps;
         std::vector<Polygon> output;
         ps.get(output);
 }
 }}}

 My output (with gcc 4.8.3) is:
 {{{
 In file included from /usr/include/boost/polygon/polygon.hpp:15:0,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/point_data.hpp:55:23: error: no matching
 function for call to 'assign(boost::polygon::point_data<int>&, const
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>&)'
      assign(*this, that);
                        ^
 /usr/include/boost/polygon/point_data.hpp:55:23: note: candidates are:
 In file included from /usr/include/boost/polygon/point_data.hpp:16:0,
                  from /usr/include/boost/polygon/polygon.hpp:15,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_concept.hpp:167:20: note: template<class
 PointType1, class PointType2> typename boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_pt_assign, typename
 boost::polygon::is_mutable_point_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_point_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 PointType1>::type& boost::polygon::assign(PointType1&, const PointType2&)
  PointType1>::type& assign(PointType1& lvalue, const PointType2& rvalue) {
                     ^
 /usr/include/boost/polygon/point_concept.hpp:167:20: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/point_concept.hpp: In substitution of
 'template<class PointType1, class PointType2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_pt_assign, typename
 boost::polygon::is_mutable_point_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_point_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 PointType1>::type& boost::polygon::assign(PointType1&, const PointType2&)
 [with PointType1 = boost::polygon::point_data<int>; PointType2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/point_concept.hpp:167:20: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from
 /usr/include/boost/polygon/polygon_set_data.hpp:1001:0,
                  from /usr/include/boost/polygon/polygon.hpp:81,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_set_concept.hpp:51:3: note:
 template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_set_type<T>::type, typename
 boost::polygon::is_any_polygon_set_type<polygon_set_type_2>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&)
    assign(polygon_set_type_1& lvalue, const polygon_set_type_2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_set_concept.hpp:51:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_set_concept.hpp: In substitution of
 'template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_set_type<T>::type, typename
 boost::polygon::is_any_polygon_set_type<polygon_set_type_2>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&) [with polygon_set_type_1 =
 boost::polygon::point_data<int>; polygon_set_type_2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_set_concept.hpp:51:3: error: no type
 named 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/polygon.hpp:76:0,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_45_set_concept.hpp:51:3: note:
 template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::gtl_if<typename
 boost::polygon::is_mutable_polygon_45_set_type<T>::type>::type, typename
 boost::polygon::gtl_if<typename
 boost::polygon::is_polygon_45_or_90_set_type<polygon_set_type_2>::type>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&)
    assign(polygon_set_type_1& lvalue, const polygon_set_type_2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_45_set_concept.hpp:51:3: note:
 template argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_45_set_concept.hpp: In substitution of
 'template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::gtl_if<typename
 boost::polygon::is_mutable_polygon_45_set_type<T>::type>::type, typename
 boost::polygon::gtl_if<typename
 boost::polygon::is_polygon_45_or_90_set_type<polygon_set_type_2>::type>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&) [with polygon_set_type_1 =
 boost::polygon::point_data<int>; polygon_set_type_2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_45_set_concept.hpp:51:3: error: no type
 named 'type' in 'struct boost::polygon::gtl_if<boost::polygon::gtl_no>'
 In file included from /usr/include/boost/polygon/polygon.hpp:67:0,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_90_set_concept.hpp:49:3: note:
 template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_set_type<T>::type, typename
 boost::polygon::is_polygon_90_set_type<polygon_set_type_2>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&)
    assign(polygon_set_type_1& lvalue, const polygon_set_type_2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_90_set_concept.hpp:49:3: note:
 template argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_90_set_concept.hpp: In substitution of
 'template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_set_type<T>::type, typename
 boost::polygon::is_polygon_90_set_type<polygon_set_type_2>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&) [with polygon_set_type_1 =
 boost::polygon::point_data<int>; polygon_set_type_2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_90_set_concept.hpp:49:3: error: no type
 named 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/polygon.hpp:47:0,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:583:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_any_mutable_polygon_type<T>::type, typename
 boost::polygon::is_rectangle_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 T1>::type& boost::polygon::assign(T1&, const T2&)
    assign(T1& polygon, const T2& rect) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:583:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_any_mutable_polygon_type<T>::type, typename
 boost::polygon::is_rectangle_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:583:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:570:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_90_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:570:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_90_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:570:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:559:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_type<T>::type, typename
 boost::polygon::is_polygon_90_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:559:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_type<T>::type, typename
 boost::polygon::is_polygon_90_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:559:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:546:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_45_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_45_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:546:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_45_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_45_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:546:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:535:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_45_type<T>::type, typename
 boost::polygon::is_polygon_45_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:535:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_45_type<T>::type, typename
 boost::polygon::is_polygon_45_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:535:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:524:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:524:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:524:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:513:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_type<T>::type, typename
 boost::polygon::is_polygon_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:513:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_type<T>::type, typename
 boost::polygon::is_polygon_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:513:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/segment_data.hpp:16:0,
                  from /usr/include/boost/polygon/polygon.hpp:32,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/segment_concept.hpp:188:18: note:
 template<class Segment1, class Segment2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_s_assign, typename
 boost::polygon::is_mutable_segment_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_segment_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 Segment1>::type& boost::polygon::assign(Segment1&, const Segment2&)
  Segment1>::type& assign(Segment1& segment1, const Segment2& segment2) {
                   ^
 /usr/include/boost/polygon/segment_concept.hpp:188:18: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/segment_concept.hpp: In substitution of
 'template<class Segment1, class Segment2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_s_assign, typename
 boost::polygon::is_mutable_segment_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_segment_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 Segment1>::type& boost::polygon::assign(Segment1&, const Segment2&) [with
 Segment1 = boost::polygon::point_data<int>; Segment2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/segment_concept.hpp:188:18: error: no type
 named 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/polygon.hpp:29:0,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/rectangle_concept.hpp:192:3: note:
 template<class rectangle_type_1, class rectangle_type_2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_r_assign, typename
 boost::polygon::is_mutable_rectangle_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_rectangle_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 rectangle_type_1>::type& boost::polygon::assign(rectangle_type_1&, const
 rectangle_type_2&)
    assign(rectangle_type_1& lvalue, const rectangle_type_2& rvalue) {
    ^
 /usr/include/boost/polygon/rectangle_concept.hpp:192:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/rectangle_concept.hpp: In substitution of
 'template<class rectangle_type_1, class rectangle_type_2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_r_assign, typename
 boost::polygon::is_mutable_rectangle_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_rectangle_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 rectangle_type_1>::type& boost::polygon::assign(rectangle_type_1&, const
 rectangle_type_2&) [with rectangle_type_1 =
 boost::polygon::point_data<int>; rectangle_type_2 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/rectangle_concept.hpp:192:3: error: no type
 named 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/interval_data.hpp:16:0,
                  from /usr/include/boost/polygon/polygon.hpp:22,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/interval_concept.hpp:168:10: note:
 template<class IntervalType1, class IntervalType2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_i_assign, typename
 boost::polygon::is_mutable_interval_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_interval_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 IntervalType1>::type& boost::polygon::assign(IntervalType1&, const
 IntervalType2&)
>::type& assign(IntervalType1& lvalue, const IntervalType2& rvalue) {
           ^
 /usr/include/boost/polygon/interval_concept.hpp:168:10: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/interval_concept.hpp: In substitution of
 'template<class IntervalType1, class IntervalType2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_i_assign, typename
 boost::polygon::is_mutable_interval_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_interval_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 IntervalType1>::type& boost::polygon::assign(IntervalType1&, const
 IntervalType2&) [with IntervalType1 = boost::polygon::point_data<int>;
 IntervalType2 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/interval_concept.hpp:168:10: error: no type
 named 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/polygon.hpp:15:0,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/point_data.hpp:55:23: error: no matching
 function for call to 'assign(boost::polygon::point_data<int>&, const
 int&)'
      assign(*this, that);
                        ^
 /usr/include/boost/polygon/point_data.hpp:55:23: note: candidates are:
 In file included from /usr/include/boost/polygon/point_data.hpp:16:0,
                  from /usr/include/boost/polygon/polygon.hpp:15,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_concept.hpp:167:20: note: template<class
 PointType1, class PointType2> typename boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_pt_assign, typename
 boost::polygon::is_mutable_point_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_point_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 PointType1>::type& boost::polygon::assign(PointType1&, const PointType2&)
  PointType1>::type& assign(PointType1& lvalue, const PointType2& rvalue) {
                     ^
 /usr/include/boost/polygon/point_concept.hpp:167:20: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/point_concept.hpp: In substitution of
 'template<class PointType1, class PointType2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_pt_assign, typename
 boost::polygon::is_mutable_point_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_point_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 PointType1>::type& boost::polygon::assign(PointType1&, const PointType2&)
 [with PointType1 = boost::polygon::point_data<int>; PointType2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/point_concept.hpp:167:20: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from
 /usr/include/boost/polygon/polygon_set_data.hpp:1001:0,
                  from /usr/include/boost/polygon/polygon.hpp:81,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_set_concept.hpp:51:3: note:
 template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_set_type<T>::type, typename
 boost::polygon::is_any_polygon_set_type<polygon_set_type_2>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&)
    assign(polygon_set_type_1& lvalue, const polygon_set_type_2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_set_concept.hpp:51:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_set_concept.hpp: In substitution of
 'template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_set_type<T>::type, typename
 boost::polygon::is_any_polygon_set_type<polygon_set_type_2>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&) [with polygon_set_type_1 =
 boost::polygon::point_data<int>; polygon_set_type_2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_set_concept.hpp:51:3: error: no type
 named 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/polygon.hpp:76:0,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_45_set_concept.hpp:51:3: note:
 template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::gtl_if<typename
 boost::polygon::is_mutable_polygon_45_set_type<T>::type>::type, typename
 boost::polygon::gtl_if<typename
 boost::polygon::is_polygon_45_or_90_set_type<polygon_set_type_2>::type>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&)
    assign(polygon_set_type_1& lvalue, const polygon_set_type_2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_45_set_concept.hpp:51:3: note:
 template argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_45_set_concept.hpp: In substitution of
 'template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::gtl_if<typename
 boost::polygon::is_mutable_polygon_45_set_type<T>::type>::type, typename
 boost::polygon::gtl_if<typename
 boost::polygon::is_polygon_45_or_90_set_type<polygon_set_type_2>::type>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&) [with polygon_set_type_1 =
 boost::polygon::point_data<int>; polygon_set_type_2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_45_set_concept.hpp:51:3: error: no type
 named 'type' in 'struct boost::polygon::gtl_if<boost::polygon::gtl_no>'
 In file included from /usr/include/boost/polygon/polygon.hpp:67:0,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_90_set_concept.hpp:49:3: note:
 template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_set_type<T>::type, typename
 boost::polygon::is_polygon_90_set_type<polygon_set_type_2>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&)
    assign(polygon_set_type_1& lvalue, const polygon_set_type_2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_90_set_concept.hpp:49:3: note:
 template argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_90_set_concept.hpp: In substitution of
 'template<class polygon_set_type_1, class polygon_set_type_2> typename
 boost::enable_if<typename boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_set_type<T>::type, typename
 boost::polygon::is_polygon_90_set_type<polygon_set_type_2>::type>::type,
 polygon_set_type_1>::type& boost::polygon::assign(polygon_set_type_1&,
 const polygon_set_type_2&) [with polygon_set_type_1 =
 boost::polygon::point_data<int>; polygon_set_type_2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_90_set_concept.hpp:49:3: error: no type
 named 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/polygon.hpp:47:0,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:583:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_any_mutable_polygon_type<T>::type, typename
 boost::polygon::is_rectangle_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 T1>::type& boost::polygon::assign(T1&, const T2&)
    assign(T1& polygon, const T2& rect) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:583:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_any_mutable_polygon_type<T>::type, typename
 boost::polygon::is_rectangle_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:583:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:570:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_90_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:570:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_90_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:570:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:559:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_type<T>::type, typename
 boost::polygon::is_polygon_90_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:559:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_90_type<T>::type, typename
 boost::polygon::is_polygon_90_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:559:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:546:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_45_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_45_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:546:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_45_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_45_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:546:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:535:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_45_type<T>::type, typename
 boost::polygon::is_polygon_45_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:535:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_45_type<T>::type, typename
 boost::polygon::is_polygon_45_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:535:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:524:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:524:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_with_holes_type<T>::type, typename
 boost::polygon::is_polygon_with_holes_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:524:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:513:3: note: template<class
 T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_type<T>::type, typename
 boost::polygon::is_polygon_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&)
    assign(T1& lvalue, const T2& rvalue) {
    ^
 /usr/include/boost/polygon/polygon_traits.hpp:513:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/polygon_traits.hpp: In substitution of
 'template<class T1, class T2> typename boost::enable_if<typename
 boost::polygon::gtl_and<typename
 boost::polygon::is_mutable_polygon_type<T>::type, typename
 boost::polygon::is_polygon_type<T2>::type>::type, T1>::type&
 boost::polygon::assign(T1&, const T2&) [with T1 =
 boost::polygon::point_data<int>; T2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/polygon_traits.hpp:513:3: error: no type named
 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/segment_data.hpp:16:0,
                  from /usr/include/boost/polygon/polygon.hpp:32,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/segment_concept.hpp:188:18: note:
 template<class Segment1, class Segment2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_s_assign, typename
 boost::polygon::is_mutable_segment_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_segment_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 Segment1>::type& boost::polygon::assign(Segment1&, const Segment2&)
  Segment1>::type& assign(Segment1& segment1, const Segment2& segment2) {
                   ^
 /usr/include/boost/polygon/segment_concept.hpp:188:18: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/segment_concept.hpp: In substitution of
 'template<class Segment1, class Segment2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_s_assign, typename
 boost::polygon::is_mutable_segment_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_segment_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 Segment1>::type& boost::polygon::assign(Segment1&, const Segment2&) [with
 Segment1 = boost::polygon::point_data<int>; Segment2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/segment_concept.hpp:188:18: error: no type
 named 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/polygon.hpp:29:0,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/rectangle_concept.hpp:192:3: note:
 template<class rectangle_type_1, class rectangle_type_2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_r_assign, typename
 boost::polygon::is_mutable_rectangle_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_rectangle_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 rectangle_type_1>::type& boost::polygon::assign(rectangle_type_1&, const
 rectangle_type_2&)
    assign(rectangle_type_1& lvalue, const rectangle_type_2& rvalue) {
    ^
 /usr/include/boost/polygon/rectangle_concept.hpp:192:3: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/rectangle_concept.hpp: In substitution of
 'template<class rectangle_type_1, class rectangle_type_2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_r_assign, typename
 boost::polygon::is_mutable_rectangle_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_rectangle_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 rectangle_type_1>::type& boost::polygon::assign(rectangle_type_1&, const
 rectangle_type_2&) [with rectangle_type_1 =
 boost::polygon::point_data<int>; rectangle_type_2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/rectangle_concept.hpp:192:3: error: no type
 named 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 In file included from /usr/include/boost/polygon/interval_data.hpp:16:0,
                  from /usr/include/boost/polygon/polygon.hpp:22,
                  from t.cpp:3:
 /usr/include/boost/polygon/point_data.hpp: In instantiation of
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]':
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 required from 'struct std::is_convertible<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
> >'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:116:12:
 [ skipping 19 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/interval_concept.hpp:168:10: note:
 template<class IntervalType1, class IntervalType2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_i_assign, typename
 boost::polygon::is_mutable_interval_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_interval_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 IntervalType1>::type& boost::polygon::assign(IntervalType1&, const
 IntervalType2&)
>::type& assign(IntervalType1& lvalue, const IntervalType2& rvalue) {
           ^
 /usr/include/boost/polygon/interval_concept.hpp:168:10: note: template
 argument deduction/substitution failed:
 /usr/include/boost/polygon/interval_concept.hpp: In substitution of
 'template<class IntervalType1, class IntervalType2> typename
 boost::enable_if<typename
 boost::polygon::gtl_and_3<boost::polygon::y_i_assign, typename
 boost::polygon::is_mutable_interval_concept<typename
 boost::polygon::geometry_concept<T>::type>::type, typename
 boost::polygon::is_interval_concept<typename
 boost::polygon::geometry_concept<PointType2>::type>::type>::type,
 IntervalType1>::type& boost::polygon::assign(IntervalType1&, const
 IntervalType2&) [with IntervalType1 = boost::polygon::point_data<int>;
 IntervalType2 = int]':
 /usr/include/boost/polygon/point_data.hpp:55:23: required from
 'boost::polygon::point_data<T>&
 boost::polygon::point_data<T>::operator=(const PointType&) [with PointType
 = int; T = int]'
 /usr/include/boost/polygon/point_data.hpp:50:11: required from
 'boost::polygon::point_data<T>::point_data(const PointType&) [with
 PointType = int; T = int]'
 /usr/lib/gcc/x86_64-pc-linux-
 gnu/4.8.3/include/g++-v4/bits/stl_pair.h:125:39: required from
 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1
 = std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >; _U2 = int; <template-parameter-2-3> =
 void; _T1 = boost::polygon::point_data<int>; _T2 =
 boost::polygon::point_data<int>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35:
 required by substitution of 'template<class _From1, class _To1> static
 decltype ((__test_aux<_To1>(declval<_From1>()),
 std::__sfinae_types::__one())) std::__is_convertible_helper<_From, _To,
 false>::__test(int) [with _From1 = _From1; _To1 = _To1; _From = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>] [with _From1 = const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&; _To1 =
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>]'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1312:50:
 required from 'constexpr const bool std::__is_convertible_helper<const
 std::pair<std::pair<boost::polygon::point_data<int>,
 boost::polygon::point_data<int> >, int>&,
 std::pair<boost::polygon::point_data<int>, boost::polygon::point_data<int>
>, false>::value'
 /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1317:12:
 [ skipping 20 instantiation contexts, use -ftemplate-backtrace-limit=0 to
 disable ]
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1682:11:
 required from 'iT
 boost::polygon::polygon_arbitrary_formation<Unit>::processEvent_(cT&, iT,
 iT) [with cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64:
 required from 'void
 boost::polygon::polygon_arbitrary_formation<Unit>::scan(cT&, iT, iT) [with
 cT = std::vector<boost::polygon::polygon_data<int> >; iT =
 __gnu_cxx::__normal_iterator<boost::polygon::scanline_base<int>::vertex_half_edge*,
 std::vector<boost::polygon::scanline_base<int>::vertex_half_edge,
 std::allocator<boost::polygon::scanline_base<int>::vertex_half_edge> > >;
 Unit = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from
 'void boost::polygon::polygon_set_data<T>::get_fracture(output_container&,
 bool, concept_type) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; concept_type =
 boost::polygon::polygon_concept; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:781:37: required from
 'void boost::polygon::polygon_set_data<T>::get_dispatch(output_container&,
 boost::polygon::polygon_concept) const [with output_container =
 std::vector<boost::polygon::polygon_data<int> >; T = int]'
 /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from
 'void boost::polygon::polygon_set_data<T>::get(output_container&) const
 [with output_container = std::vector<boost::polygon::polygon_data<int> >;
 T = int]'
 t.cpp:11:15: required from here
 /usr/include/boost/polygon/interval_concept.hpp:168:10: error: no type
 named 'type' in 'struct boost::enable_if<mpl_::bool_<false>,
 boost::polygon::point_data<int> >'
 }}}

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/10531>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:17 UTC