C++ C++;Boost Geometry error:调用';时没有匹配函数;断言失败';
我正在尝试使用Boost库测试一个多边形是否包含在另一个多边形中。我刚开始用它作为例子来编写代码,甚至在开始我的主块之前就出现了一个巨大的编译错误。(它太大了,所以抛出了一个错误,说明问题正文长度超过了30000个字符的限制)。我的代码是C++ C++;Boost Geometry error:调用';时没有匹配函数;断言失败';,c++,boost,boost-geometry,C++,Boost,Boost Geometry,我正在尝试使用Boost库测试一个多边形是否包含在另一个多边形中。我刚开始用它作为例子来编写代码,甚至在开始我的主块之前就出现了一个巨大的编译错误。(它太大了,所以抛出了一个错误,说明问题正文长度超过了30000个字符的限制)。我的代码是 #include <boost/geometry.hpp> #include <boost/geometry/geometries/point_xy.hpp> #include <boost/geometry/geometries
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
int main(int argc, char** argv)
{
typedef boost::geometry::model::polygon<boost::tuple<int, int> > polygon;
polygon poly;
return 0;
}
#包括
#包括
#包括
int main(int argc,字符**argv)
{
typedef boost::geometry::model::polygon;
多边形多边形;
返回0;
}
然而,这会产生大量编译错误,如下所示。这是部分输出,完整输出位于
Pranavs MacBook Pro:pranav$g++bp.cpp
在bp.cpp中包含的文件中:1:
在/usr/local/include/boost/geometry.hpp:17中包含的文件中:
在/usr/local/include/boost/geometry/geometry.hpp:26中包含的文件中:
在/usr/local/include/boost/geometry/core/coordinate_dimension.hpp:24中包含的文件中:
/usr/local/include/boost/geometry/core/point_type.hpp:45:5:错误:调用“断言_失败”时没有匹配函数
BOOST\u MPL\u ASSERT\u MSG
^~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/mpl/assert.hpp:435:48:注意:从宏“boost\u mpl\u assert\u MSG”展开
#定义BOOST\u MPL\u ASSERT\u MSG(c、MSG、type)\
^
/usr/local/include/boost/mpl/assert.hpp:429:9:注意:从宏扩展而来\
BOOST\u MPL\u ASSERT\u MSG\u IMPL'
boost::mpl::assertion\u失败(boost\u PP\u CAT(mpl\u assert\u arg,计数器)::assert\u arg())\
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/mpl/assert.hpp:60:58:注意:从宏的\
BOOST\u MPL\u AUX\u ASSERT\u CONSTANT'
#定义BOOST_MPL_AUX_ASSERT_常量(T,expr)enum{expr}
^
/usr/local/include/boost/geometry/core/point_type.hpp:65:30:注意:在模板类的实例化中
此处请求“boost::geometry::traits::point\u type”
类型名称特征::点类型::类型
^
/usr/local/include/boost/geometry/core/coordinate_type.hpp:58:22:注意:在模板类的实例化中
此处请求“boost::geometry::core\u dispatch::point\u type”
typedef typename point_type::type point_type;
^
/usr/local/include/boost/geometry/core/coordinate_type.hpp:88:37:注意:在模板类的实例化中
此处请求“boost::geometry::core\u dispatch::coordinate\u type”
typedef typename核心_分派::坐标_类型
^
/usr/local/include/boost/geometry/geometry/concepts/point_concept.hpp:98:22:注意:在模板类的实例化中
此处请求“boost::geometry::坐标类型”
typedef typename坐标类型::type ctype;
^
/usr/local/include/boost/concept/detail/has_约束。hpp:32:63:注意:在模板类的实例化中
此处请求“boost::geometry::concept::Point”
inline yes具有_约束(Model*,wrap_约束*=0);
^
/usr/local/include/boost/concept/detail/has_约束。hpp:44:25:注意:将推导的模板参数替换为函数模板时
'has_constraints_'[with Model=boost::geometry::concept::Point]
,value=sizeof(detail::has_constraints_u((Model*)0))==sizeof(detail::yes));
^
/usr/local/include/boost/config/suffix.hpp:394:72:注意:从宏“boost\u STATIC\u CONSTANT”展开
#定义BOOST_STATIC_常量(类型、赋值)STATIC const类型赋值
^
/usr/local/include/boost/mpl/if.hpp:63:68:注意:在模板类的实例化中
此处请求的“boost::concepts::not_Confected”
BOOST\u MPL\u AUX\u STATIC\u CAST(bool,BOOST\u MPL\u AUX\u VALUE\u WKND(T1)::VALUE)
^
/usr/local/include/boost/mpl/aux\u/value\u wknd.hpp:57:40:注意:从宏“boost\u mpl\u aux\u value\u wknd”展开
#定义增压泵辅助值WKND(C)C
^
/usr/local/include/boost/mpl/aux\u/static\u cast.hpp:24:62:注意:从宏“boost\u mpl\u aux\u static\u cast”展开
#定义BOOST\u MPL\u AUX\u STATIC\u CAST(T,expr)STATIC\u CAST(expr)
^
/usr/local/include/boost/concept/detail/general.hpp:51:10:注意:在模板类的实例化中
此处请求了“boost::mpl::if”
:mpl::if_<
^
/usr/local/include/boost/geometry/geometry/polygon.hpp:79:5:注意:在模板类的实例化中,请求了“boost::concepts::requirement”
在这里
BOOST_CONCEPT_ASSERT((CONCEPT::Point));
^
/usr/local/include/boost/concept/assert.hpp:43:5:注意:从宏“boost\u concept\u assert”扩展而来
BOOST\u概念\u断言\u FN(void(*)ModelInParens)
^
/usr/local/include/boost/concept/detail/general.hpp:78:25:注意:从宏“boost\u concept\u ASSERT\u FN”扩展而来
&::boost::concepts::requirement\:failed>\
^
cpp:8:12:注意:在这里请求的模板类“boost::geometry::model::polygon”的实例化中
多边形多边形;
^
/usr/local/include/boost/mpl/assert.hpp:83:5:注意:候选函数[C=false]不可行:没有已知的从“boost::mpl::失败”的转换
************(boost::geometry::traits::point_type::NOT_IMPLEMENTED_FOR_THIS_point_type::*****************)(types)“”到第一个参数的“typename assert::type”(也称为“mpl::assert”)
int断言_失败(类型名称断言::类型);
^
在bp.cpp中包含的文件中:1:
在/usr/local/include/boost/geometry.hpp:17中包含的文件中:
在/usr/local/include/boost/geometry/geometry.hpp:28中包含的文件中:
/usr/local/include/boost/geometry/core/coordination_type.hpp:43:5:错误:调用t时没有匹配函数
Pranavs-MacBook-Pro: pranav$ g++ bp.cpp
In file included from bp.cpp:1:
In file included from /usr/local/include/boost/geometry.hpp:17:
In file included from /usr/local/include/boost/geometry/geometry.hpp:26:
In file included from /usr/local/include/boost/geometry/core/coordinate_dimension.hpp:24:
/usr/local/include/boost/geometry/core/point_type.hpp:45:5: error: no matching function for call to 'assertion_failed'
BOOST_MPL_ASSERT_MSG
^~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/mpl/assert.hpp:435:48: note: expanded from macro 'BOOST_MPL_ASSERT_MSG'
#define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
^
/usr/local/include/boost/mpl/assert.hpp:429:9: note: expanded from macro '\
BOOST_MPL_ASSERT_MSG_IMPL'
boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/mpl/assert.hpp:60:58: note: expanded from macro '\
BOOST_MPL_AUX_ASSERT_CONSTANT'
# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
^
/usr/local/include/boost/geometry/core/point_type.hpp:65:30: note: in instantiation of template class
'boost::geometry::traits::point_type<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >' requested here
typename traits::point_type<Geometry>::type
^
/usr/local/include/boost/geometry/core/coordinate_type.hpp:58:22: note: in instantiation of template class
'boost::geometry::core_dispatch::point_type<void, boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >' requested here
typedef typename point_type<GeometryTag, Geometry>::type point_type;
^
/usr/local/include/boost/geometry/core/coordinate_type.hpp:88:37: note: in instantiation of template class
'boost::geometry::core_dispatch::coordinate_type<void, boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >' requested here
typedef typename core_dispatch::coordinate_type
^
/usr/local/include/boost/geometry/geometries/concepts/point_concept.hpp:98:22: note: in instantiation of template class
'boost::geometry::coordinate_type<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >' requested here
typedef typename coordinate_type<Geometry>::type ctype;
^
/usr/local/include/boost/concept/detail/has_constraints.hpp:32:63: note: in instantiation of template class
'boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >' requested here
inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
^
/usr/local/include/boost/concept/detail/has_constraints.hpp:44:25: note: while substituting deduced template arguments into function template
'has_constraints_' [with Model = boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >]
, value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
^
/usr/local/include/boost/config/suffix.hpp:394:72: note: expanded from macro 'BOOST_STATIC_CONSTANT'
# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment
^
/usr/local/include/boost/mpl/if.hpp:63:68: note: in instantiation of template class
'boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> > >' requested here
BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
^
/usr/local/include/boost/mpl/aux_/value_wknd.hpp:57:40: note: expanded from macro 'BOOST_MPL_AUX_VALUE_WKND'
# define BOOST_MPL_AUX_VALUE_WKND(C) C
^
/usr/local/include/boost/mpl/aux_/static_cast.hpp:24:62: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST'
# define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
^
/usr/local/include/boost/concept/detail/general.hpp:51:10: note: in instantiation of template class
'boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, boost::concepts::constraint<boost::geometry::concept::Point<boost::tuples::tuple<int, int,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, boost::concepts::requirement<boost::concepts::failed
************boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >::************> >' requested here
: mpl::if_<
^
/usr/local/include/boost/geometry/geometries/polygon.hpp:79:5: note: in instantiation of template class 'boost::concepts::requirement_<void
(*)(boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >)>' requested
here
BOOST_CONCEPT_ASSERT( (concept::Point<Point>) );
^
/usr/local/include/boost/concept/assert.hpp:43:5: note: expanded from macro 'BOOST_CONCEPT_ASSERT'
BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
^
/usr/local/include/boost/concept/detail/general.hpp:78:25: note: expanded from macro 'BOOST_CONCEPT_ASSERT_FN'
&::boost::concepts::requirement_<ModelFnPtr>::failed> \
^
bp.cpp:8:12: note: in instantiation of template class 'boost::geometry::model::polygon<boost::tuples::tuple<int, int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type>, true, true, std::vector, std::vector, std::allocator, std::allocator>' requested here
polygon poly;
^
/usr/local/include/boost/mpl/assert.hpp:83:5: note: candidate function [with C = false] not viable: no known conversion from 'boost::mpl::failed
************(boost::geometry::traits::point_type<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >::NOT_IMPLEMENTED_FOR_THIS_POINT_TYPE::************)(types<boost::tuples::tuple<int, int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> >)' to 'typename assert<false>::type' (aka 'mpl_::assert<false>') for 1st argument
int assertion_failed( typename assert<C>::type );
^
In file included from bp.cpp:1:
In file included from /usr/local/include/boost/geometry.hpp:17:
In file included from /usr/local/include/boost/geometry/geometry.hpp:28:
/usr/local/include/boost/geometry/core/coordinate_type.hpp:43:5: error: no matching function for call to 'assertion_failed'
BOOST_MPL_ASSERT_MSG
^~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/mpl/assert.hpp:435:48: note: expanded from macro 'BOOST_MPL_ASSERT_MSG'
#define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
^
/usr/local/include/boost/mpl/assert.hpp:429:9: note: expanded from macro '\
BOOST_MPL_ASSERT_MSG_IMPL'
boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/mpl/assert.hpp:60:58: note: expanded from macro '\
BOOST_MPL_AUX_ASSERT_CONSTANT'
# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
^
/usr/local/include/boost/geometry/core/coordinate_type.hpp:67:30: note: in instantiation of template class 'boost::geometry::traits::coordinate_type<int,
void>' requested here
typedef typename traits::coordinate_type
^
/usr/local/include/boost/geometry/core/coordinate_type.hpp:61:22: note: in instantiation of template class
'boost::geometry::core_dispatch::coordinate_type<boost::geometry::point_tag, int>' requested here
typedef typename coordinate_type<point_tag, point_type>::type type;
^
/usr/local/include/boost/geometry/core/coordinate_type.hpp:88:37: note: in instantiation of template class
'boost::geometry::core_dispatch::coordinate_type<void, boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >' requested here
typedef typename core_dispatch::coordinate_type
^
/usr/local/include/boost/geometry/geometries/concepts/point_concept.hpp:98:22: note: in instantiation of template class
'boost::geometry::coordinate_type<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >' requested here
typedef typename coordinate_type<Geometry>::type ctype;
^
/usr/local/include/boost/concept/detail/has_constraints.hpp:32:63: note: in instantiation of template class
'boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >' requested here
inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
^
/usr/local/include/boost/concept/detail/has_constraints.hpp:44:25: note: while substituting deduced template arguments into function template
'has_constraints_' [with Model = boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >]
, value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
^
/usr/local/include/boost/config/suffix.hpp:394:72: note: expanded from macro 'BOOST_STATIC_CONSTANT'
# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment
^
/usr/local/include/boost/mpl/if.hpp:63:68: note: in instantiation of template class
'boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> > >' requested here
BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
^
/usr/local/include/boost/mpl/aux_/value_wknd.hpp:57:40: note: expanded from macro 'BOOST_MPL_AUX_VALUE_WKND'
# define BOOST_MPL_AUX_VALUE_WKND(C) C
^
/usr/local/include/boost/mpl/aux_/static_cast.hpp:24:62: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST'
# define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
^
/usr/local/include/boost/concept/detail/general.hpp:51:10: note: in instantiation of template class
'boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, boost::concepts::constraint<boost::geometry::concept::Point<boost::tuples::tuple<int, int,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, boost::concepts::requirement<boost::concepts::failed
************boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >::************> >' requested here
: mpl::if_<
^
/usr/local/include/boost/geometry/geometries/polygon.hpp:79:5: note: in instantiation of template class 'boost::concepts::requirement_<void
(*)(boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >)>' requested
here
BOOST_CONCEPT_ASSERT( (concept::Point<Point>) );
^
/usr/local/include/boost/concept/assert.hpp:43:5: note: expanded from macro 'BOOST_CONCEPT_ASSERT'
BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
^
/usr/local/include/boost/concept/detail/general.hpp:78:25: note: expanded from macro 'BOOST_CONCEPT_ASSERT_FN'
&::boost::concepts::requirement_<ModelFnPtr>::failed> \
^
bp.cpp:8:12: note: in instantiation of template class 'boost::geometry::model::polygon<boost::tuples::tuple<int, int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type>, true, true, std::vector, std::vector, std::allocator, std::allocator>' requested here
polygon poly;
^
/usr/local/include/boost/mpl/assert.hpp:83:5: note: candidate function [with C = false] not viable: no known conversion from 'boost::mpl::failed
************(boost::geometry::traits::coordinate_type<int, void>::NOT_IMPLEMENTED_FOR_THIS_POINT_TYPE::************)(types<int>)' to
'typename assert<false>::type' (aka 'mpl_::assert<false>') for 1st argument
int assertion_failed( typename assert<C>::type );
^
In file included from bp.cpp:1:
In file included from /usr/local/include/boost/geometry.hpp:17:
In file included from /usr/local/include/boost/geometry/geometry.hpp:27:
/usr/local/include/boost/geometry/core/coordinate_system.hpp:42:5: error: no matching function for call to 'assertion_failed'
BOOST_MPL_ASSERT_MSG
^~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/mpl/assert.hpp:435:48: note: expanded from macro 'BOOST_MPL_ASSERT_MSG'
#define BOOST_MPL_ASSERT_MSG( c, msg, types_ ) \
^
/usr/local/include/boost/mpl/assert.hpp:429:9: note: expanded from macro '\
BOOST_MPL_ASSERT_MSG_IMPL'
boost::mpl::assertion_failed<(c)>( BOOST_PP_CAT(mpl_assert_arg,counter)::assert_arg() ) \
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/boost/mpl/assert.hpp:60:58: note: expanded from macro '\
BOOST_MPL_AUX_ASSERT_CONSTANT'
# define BOOST_MPL_AUX_ASSERT_CONSTANT(T, expr) enum { expr }
^
/usr/local/include/boost/geometry/core/coordinate_system.hpp:68:34: note: in instantiation of template class
'boost::geometry::traits::coordinate_system<int, void>' requested here
typedef typename traits::coordinate_system
^
/usr/local/include/boost/geometry/core/coordinate_system.hpp:61:26: note: in instantiation of template class
'boost::geometry::core_dispatch::coordinate_system<boost::geometry::point_tag, int>' requested here
typedef typename coordinate_system<point_tag, P>::type type;
^
/usr/local/include/boost/geometry/core/coordinate_system.hpp:89:37: note: in instantiation of template class
'boost::geometry::core_dispatch::coordinate_system<void, boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >' requested here
typedef typename core_dispatch::coordinate_system
^
/usr/local/include/boost/geometry/geometries/concepts/point_concept.hpp:99:22: note: in instantiation of template class
'boost::geometry::coordinate_system<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >' requested here
typedef typename coordinate_system<Geometry>::type csystem;
^
/usr/local/include/boost/concept/detail/has_constraints.hpp:32:63: note: in instantiation of template class
'boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >' requested here
inline yes has_constraints_(Model*, wrap_constraints<Model,&Model::constraints>* = 0);
^
/usr/local/include/boost/concept/detail/has_constraints.hpp:44:25: note: while substituting deduced template arguments into function template
'has_constraints_' [with Model = boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >]
, value = sizeof( detail::has_constraints_((Model*)0) ) == sizeof(detail::yes) );
^
/usr/local/include/boost/config/suffix.hpp:394:72: note: expanded from macro 'BOOST_STATIC_CONSTANT'
# define BOOST_STATIC_CONSTANT(type, assignment) static const type assignment
^
/usr/local/include/boost/mpl/if.hpp:63:68: note: in instantiation of template class
'boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> > >' requested here
BOOST_MPL_AUX_STATIC_CAST(bool, BOOST_MPL_AUX_VALUE_WKND(T1)::value)
^
/usr/local/include/boost/mpl/aux_/value_wknd.hpp:57:40: note: expanded from macro 'BOOST_MPL_AUX_VALUE_WKND'
# define BOOST_MPL_AUX_VALUE_WKND(C) C
^
/usr/local/include/boost/mpl/aux_/static_cast.hpp:24:62: note: expanded from macro 'BOOST_MPL_AUX_STATIC_CAST'
# define BOOST_MPL_AUX_STATIC_CAST(T, expr) static_cast<T>(expr)
^
/usr/local/include/boost/concept/detail/general.hpp:51:10: note: in instantiation of template class
'boost::mpl::if_<boost::concepts::not_satisfied<boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type> > >, boost::concepts::constraint<boost::geometry::concept::Point<boost::tuples::tuple<int, int,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> > >, boost::concepts::requirement<boost::concepts::failed
************boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type> >::************> >' requested here
: mpl::if_<
^
/usr/local/include/boost/geometry/geometries/polygon.hpp:79:5: note: in instantiation of template class 'boost::concepts::requirement_<void
(*)(boost::geometry::concept::Point<boost::tuples::tuple<int, int, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type> >)>' requested
here
BOOST_CONCEPT_ASSERT( (concept::Point<Point>) );
^
/usr/local/include/boost/concept/assert.hpp:43:5: note: expanded from macro 'BOOST_CONCEPT_ASSERT'
BOOST_CONCEPT_ASSERT_FN(void(*)ModelInParens)
^
/usr/local/include/boost/concept/detail/general.hpp:78:25: note: expanded from macro 'BOOST_CONCEPT_ASSERT_FN'
&::boost::concepts::requirement_<ModelFnPtr>::failed> \
^
bp.cpp:8:12: note: in instantiation of template class 'boost::geometry::model::polygon<boost::tuples::tuple<int, int, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type, boost::tuples::null_type,
boost::tuples::null_type, boost::tuples::null_type>, true, true, std::vector, std::vector, std::allocator, std::allocator>' requested here
polygon poly;
^
/usr/local/include/boost/mpl/assert.hpp:83:5: note: candidate function [with C = false] not viable: no known conversion from 'boost::mpl::failed
************(boost::geometry::traits::coordinate_system<int, void>::NOT_IMPLEMENTED_FOR_THIS_POINT_TYPE::************)(types<int>)' to
'typename assert<false>::type' (aka 'mpl_::assert<false>') for 1st argument
int assertion_failed( typename assert<C>::type );
^
^
#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/geometries/polygon.hpp>
#include <boost/geometry/geometries/adapted/boost_tuple.hpp>
BOOST_GEOMETRY_REGISTER_BOOST_TUPLE_CS(cs::cartesian)
int main(int argc, char** argv)
{
typedef boost::geometry::model::polygon<boost::tuple<int, int> > polygon;
polygon poly;
return 0;
}