#include <iostream>
#include <list>
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
typedef boost::geometry::model::d2::point_xy<double> point_type;
typedef boost::geometry::model::polygon<point_type> polygon_type;
int main()
{
// Construct
polygon_type poly;
boost::geometry::append(poly, point_type {0,0});
boost::geometry::append(poly, point_type {1,0});
boost::geometry::append(poly, point_type {0,1});
boost::geometry::append(poly, point_type {0,0});
polygon_type output;
boost::geometry::buffer(poly, output, .5); // THIS_OPERATION_IS_NOT_OR_NOT_YET_IMPLEMENTED
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGlzdD4KCiNpbmNsdWRlIDxib29zdC9nZW9tZXRyeS5ocHA+CiNpbmNsdWRlIDxib29zdC9nZW9tZXRyeS9nZW9tZXRyaWVzL3BvaW50X3h5LmhwcD4KI2luY2x1ZGUgPGJvb3N0L2dlb21ldHJ5L2dlb21ldHJpZXMvcG9seWdvbi5ocHA+Cgp0eXBlZGVmIGJvb3N0OjpnZW9tZXRyeTo6bW9kZWw6OmQyOjpwb2ludF94eTxkb3VibGU+IHBvaW50X3R5cGU7CnR5cGVkZWYgYm9vc3Q6Omdlb21ldHJ5Ojptb2RlbDo6cG9seWdvbjxwb2ludF90eXBlPiBwb2x5Z29uX3R5cGU7CgppbnQgbWFpbigpCnsKICAgIC8vIENvbnN0cnVjdAogICAgcG9seWdvbl90eXBlIHBvbHk7CiAgICBib29zdDo6Z2VvbWV0cnk6OmFwcGVuZChwb2x5LCBwb2ludF90eXBlIHswLDB9KTsKICAgIGJvb3N0OjpnZW9tZXRyeTo6YXBwZW5kKHBvbHksIHBvaW50X3R5cGUgezEsMH0pOwogICAgYm9vc3Q6Omdlb21ldHJ5OjphcHBlbmQocG9seSwgcG9pbnRfdHlwZSB7MCwxfSk7CiAgICBib29zdDo6Z2VvbWV0cnk6OmFwcGVuZChwb2x5LCBwb2ludF90eXBlIHswLDB9KTsKCiAgICBwb2x5Z29uX3R5cGUgb3V0cHV0OwoKICAgIGJvb3N0OjpnZW9tZXRyeTo6YnVmZmVyKHBvbHksIG91dHB1dCwgLjUpOyAvLyBUSElTX09QRVJBVElPTl9JU19OT1RfT1JfTk9UX1lFVF9JTVBMRU1FTlRFRAoKICAgIHJldHVybiAwOwp9Cg==
In file included from /usr/include/boost/geometry/core/coordinate_system.hpp:18:0,
from /usr/include/boost/geometry/core/cs.hpp:21,
from /usr/include/boost/geometry/geometry.hpp:19,
from /usr/include/boost/geometry.hpp:17,
from prog.cpp:4:
/usr/include/boost/geometry/algorithms/not_implemented.hpp: In instantiation of 'struct boost::geometry::nyi::not_implemented_error<boost::geometry::info::POLYGON, boost::geometry::info::POLYGON, void>':
/usr/include/boost/geometry/algorithms/not_implemented.hpp:103:8: required from 'struct boost::geometry::not_implemented<boost::geometry::polygon_tag, boost::geometry::polygon_tag, void>'
/usr/include/boost/geometry/algorithms/buffer.hpp:86:8: required from 'struct boost::geometry::dispatch::buffer<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> >, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> >, boost::geometry::polygon_tag, boost::geometry::polygon_tag>'
/usr/include/boost/geometry/algorithms/buffer.hpp:136:17: required from 'void boost::geometry::buffer(const Input&, Output&, const Distance&, const Distance&) [with Input = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> >; Output = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> >; Distance = double]'
prog.cpp:22:45: required from here
/usr/include/boost/geometry/algorithms/not_implemented.hpp:64:5: error: no matching function for call to 'assertion_failed(mpl_::failed************ (boost::geometry::nyi::not_implemented_error<boost::geometry::info::POLYGON, boost::geometry::info::POLYGON, void>::THIS_OPERATION_IS_NOT_OR_NOT_YET_IMPLEMENTED::************)(mpl_::assert_::types<boost::geometry::info::POLYGON, boost::geometry::info::POLYGON, void, mpl_::na>))'
BOOST_MPL_ASSERT_MSG
^
/usr/include/boost/mpl/assert.hpp:82:5: note: candidate: template<bool C> int mpl_::assertion_failed(typename mpl_::assert<C>::type)
int assertion_failed( typename assert<C>::type );
^
/usr/include/boost/mpl/assert.hpp:82:5: note: template argument deduction/substitution failed:
/usr/include/boost/geometry/algorithms/not_implemented.hpp:64:5: note: cannot convert 'boost::geometry::nyi::not_implemented_error<Term1, Term2, Term3>::THIS_OPERATION_IS_NOT_OR_NOT_YET_IMPLEMENTED71::assert_arg<boost::geometry::info::POLYGON, boost::geometry::info::POLYGON, void>()' (type 'mpl_::failed************ (boost::geometry::nyi::not_implemented_error<boost::geometry::info::POLYGON, boost::geometry::info::POLYGON, void>::THIS_OPERATION_IS_NOT_OR_NOT_YET_IMPLEMENTED::************)(mpl_::assert_::types<boost::geometry::info::POLYGON, boost::geometry::info::POLYGON, void, mpl_::na>)') to type 'mpl_::assert<false>::type {aka mpl_::assert<false>}'
BOOST_MPL_ASSERT_MSG
^
In file included from /usr/include/boost/geometry/geometry.hpp:40:0,
from /usr/include/boost/geometry.hpp:17,
from prog.cpp:4:
/usr/include/boost/geometry/algorithms/buffer.hpp: In instantiation of 'void boost::geometry::buffer(const Input&, Output&, const Distance&, const Distance&) [with Input = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> >; Output = boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> >; Distance = double]':
prog.cpp:22:45: required from here
/usr/include/boost/geometry/algorithms/buffer.hpp:136:17: error: 'apply' is not a member of 'boost::geometry::dispatch::buffer<boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> >, boost::geometry::model::polygon<boost::geometry::model::d2::point_xy<double> >, boost::geometry::polygon_tag, boost::geometry::polygon_tag>'
>::apply(geometry_in, distance, chord_length, geometry_out);
^