id summary reporter owner description type status milestone component version severity resolution keywords cc 10531 Upgrade to boost 1.56.0 breaks compilation of boost::polygon code fiesh@… Andrii Sydorchuk "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 #include int main() { typedef boost::polygon::polygon_data Polygon; typedef boost::polygon::polygon_set_data PolygonSet; PolygonSet ps; std::vector 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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&, const std::pair, boost::polygon::point_data >&)' 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 typename boost::enable_if::type>::type, typename boost::polygon::is_point_concept::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 typename boost::enable_if::type>::type, typename boost::polygon::is_point_concept::type>::type>::type, PointType1>::type& boost::polygon::assign(PointType1&, const PointType2&) [with PointType1 = boost::polygon::point_data; PointType2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_set_concept.hpp:51:3: note: template typename boost::enable_if::type, typename boost::polygon::is_any_polygon_set_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_set_concept.hpp:51:3: note: template argument deduction/substitution failed: /usr/include/boost/polygon/polygon_set_concept.hpp: In substitution of 'template typename boost::enable_if::type, typename boost::polygon::is_any_polygon_set_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; polygon_set_type_2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_45_set_concept.hpp:51:3: note: template typename boost::enable_if::type>::type, typename boost::polygon::gtl_if::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 typename boost::enable_if::type>::type, typename boost::polygon::gtl_if::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; polygon_set_type_2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_90_set_concept.hpp:49:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_90_set_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_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 typename boost::enable_if::type, typename boost::polygon::is_polygon_90_set_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; polygon_set_type_2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:583:3: note: template typename boost::enable_if::type, typename boost::polygon::is_rectangle_concept::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 typename boost::enable_if::type, typename boost::polygon::is_rectangle_concept::type>::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:570:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_90_with_holes_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_90_with_holes_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:559:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_90_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_90_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:546:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_45_with_holes_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_45_with_holes_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:535:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_45_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_45_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:524:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_with_holes_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_with_holes_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:513:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/segment_concept.hpp:188:18: note: template typename boost::enable_if::type>::type, typename boost::polygon::is_segment_concept::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 typename boost::enable_if::type>::type, typename boost::polygon::is_segment_concept::type>::type>::type, Segment1>::type& boost::polygon::assign(Segment1&, const Segment2&) [with Segment1 = boost::polygon::point_data; Segment2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/rectangle_concept.hpp:192:3: note: template typename boost::enable_if::type>::type, typename boost::polygon::is_rectangle_concept::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 typename boost::enable_if::type>::type, typename boost::polygon::is_rectangle_concept::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; rectangle_type_2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/interval_concept.hpp:168:10: note: template typename boost::enable_if::type>::type, typename boost::polygon::is_interval_concept::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 typename boost::enable_if::type>::type, typename boost::polygon::is_interval_concept::type>::type>::type, IntervalType1>::type& boost::polygon::assign(IntervalType1&, const IntervalType2&) [with IntervalType1 = boost::polygon::point_data; IntervalType2 = std::pair, boost::polygon::point_data >]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::point_data(const PointType&) [with PointType = std::pair, boost::polygon::point_data >; 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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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&, 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 typename boost::enable_if::type>::type, typename boost::polygon::is_point_concept::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 typename boost::enable_if::type>::type, typename boost::polygon::is_point_concept::type>::type>::type, PointType1>::type& boost::polygon::assign(PointType1&, const PointType2&) [with PointType1 = boost::polygon::point_data; PointType2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_set_concept.hpp:51:3: note: template typename boost::enable_if::type, typename boost::polygon::is_any_polygon_set_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_set_concept.hpp:51:3: note: template argument deduction/substitution failed: /usr/include/boost/polygon/polygon_set_concept.hpp: In substitution of 'template typename boost::enable_if::type, typename boost::polygon::is_any_polygon_set_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; polygon_set_type_2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_45_set_concept.hpp:51:3: note: template typename boost::enable_if::type>::type, typename boost::polygon::gtl_if::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 typename boost::enable_if::type>::type, typename boost::polygon::gtl_if::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; polygon_set_type_2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_90_set_concept.hpp:49:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_90_set_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_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 typename boost::enable_if::type, typename boost::polygon::is_polygon_90_set_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; polygon_set_type_2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:583:3: note: template typename boost::enable_if::type, typename boost::polygon::is_rectangle_concept::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 typename boost::enable_if::type, typename boost::polygon::is_rectangle_concept::type>::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:570:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_90_with_holes_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_90_with_holes_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:559:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_90_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_90_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:546:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_45_with_holes_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_45_with_holes_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:535:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_45_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_45_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:524:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_with_holes_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_with_holes_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' /usr/include/boost/polygon/point_data.hpp: In instantiation of 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/polygon_traits.hpp:513:3: note: template typename boost::enable_if::type, typename boost::polygon::is_polygon_type::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 typename boost::enable_if::type, typename boost::polygon::is_polygon_type::type>::type, T1>::type& boost::polygon::assign(T1&, const T2&) [with T1 = boost::polygon::point_data; T2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/segment_concept.hpp:188:18: note: template typename boost::enable_if::type>::type, typename boost::polygon::is_segment_concept::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 typename boost::enable_if::type>::type, typename boost::polygon::is_segment_concept::type>::type>::type, Segment1>::type& boost::polygon::assign(Segment1&, const Segment2&) [with Segment1 = boost::polygon::point_data; Segment2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/rectangle_concept.hpp:192:3: note: template typename boost::enable_if::type>::type, typename boost::polygon::is_rectangle_concept::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 typename boost::enable_if::type>::type, typename boost::polygon::is_rectangle_concept::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; rectangle_type_2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' 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& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]': /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data > >' /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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; T = int]' t.cpp:11:15: required from here /usr/include/boost/polygon/interval_concept.hpp:168:10: note: template typename boost::enable_if::type>::type, typename boost::polygon::is_interval_concept::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 typename boost::enable_if::type>::type, typename boost::polygon::is_interval_concept::type>::type>::type, IntervalType1>::type& boost::polygon::assign(IntervalType1&, const IntervalType2&) [with IntervalType1 = boost::polygon::point_data; IntervalType2 = int]': /usr/include/boost/polygon/point_data.hpp:55:23: required from 'boost::polygon::point_data& boost::polygon::point_data::operator=(const PointType&) [with PointType = int; T = int]' /usr/include/boost/polygon/point_data.hpp:50:11: required from 'boost::polygon::point_data::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 >; _U2 = int; = void; _T1 = boost::polygon::point_data; _T2 = boost::polygon::point_data]' /usr/lib/gcc/x86_64-pc-linux-gnu/4.8.3/include/g++-v4/type_traits:1305:35: required by substitution of 'template 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, boost::polygon::point_data >, int>&; _To = std::pair, boost::polygon::point_data >] [with _From1 = const std::pair, boost::polygon::point_data >, int>&; _To1 = std::pair, boost::polygon::point_data >]' /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, boost::polygon::point_data >, int>&, std::pair, boost::polygon::point_data >, 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::processEvent_(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/detail/polygon_arbitrary_formation.hpp:1361:64: required from 'void boost::polygon::polygon_arbitrary_formation::scan(cT&, iT, iT) [with cT = std::vector >; iT = __gnu_cxx::__normal_iterator::vertex_half_edge*, std::vector::vertex_half_edge, std::allocator::vertex_half_edge> > >; Unit = int]' /usr/include/boost/polygon/polygon_set_data.hpp:798:7: required from 'void boost::polygon::polygon_set_data::get_fracture(output_container&, bool, concept_type) const [with output_container = std::vector >; 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::get_dispatch(output_container&, boost::polygon::polygon_concept) const [with output_container = std::vector >; T = int]' /usr/include/boost/polygon/polygon_set_data.hpp:233:100: required from 'void boost::polygon::polygon_set_data::get(output_container&) const [with output_container = std::vector >; 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, boost::polygon::point_data >' }}}" Patches closed Boost 1.58.0 polygon Boost 1.56.0 Problem fixed