Boost logo

Boost Users :

From: Sergey Lukashev (lukashev.s_at_[hidden])
Date: 2019-10-14 18:21:45


The tree itself compiles just fine. It's the nearest query that fails. Here is a minimal not working example. I'll send output as an attachment. What bothers me is Strategy=int in the output.

#include <boost/geometry.hpp>
#include <boost/geometry/geometries/point.hpp>
#include <boost/geometry/geometries/box.hpp>

#include <boost/geometry/index/rtree.hpp>

// to store queries results
#include <vector>

namespace bg = boost::geometry;
namespace bgi = boost::geometry::index;

int foobar()
{
    typedef bg::model::point<float, 2, bg::cs::geographic<bg::degree>> point;
    typedef bg::model::box<point> box;
    typedef std::pair<box, unsigned> value;

    // create the rtree using default constructor
    bgi::rtree< value, bgi::quadratic<16> > rtree;

    // create some values
    for(unsigned i = 0; i < 10; ++i)
    {
        // create a box
        box b(point(i + 0.0f, i + 0.0f), point(i + 0.5f, i + 0.5f));
        // insert new value
        rtree.insert(std::make_pair(b, i));
    }

    std::vector<value> result_n;
    rtree.query(bgi::nearest(point(0., 0.), 5), std::back_inserter(result_n));

    return 0;
}

14.10.2019, 20:23, "Adam Wulkiewicz" <adam.wulkiewicz_at_[hidden]>:
> Hi,
>
> W dniu 14.10.2019 o 16:57, vexakul via Boost-users pisze:
>>  Hi all!
>>
>>  I need to store geographic points in rtree and be able to answer nearest
>>  query.
>>
>>  Can someone provide an example similar to this
>>  <https://www.boost.org/doc/libs/1_65_1/libs/geometry/doc/html/geometry/spatial_indexes/rtree_examples/quick_start.html>
>>  but with point type bg::model::point<float, 2,
>>  bg::cs::geographic&lt;bg::degree>>? Is that supported? For me it fails to
>>  compile.
>
> When you define the geographic point as R-tree element type the
> computation should be done in geographic CS by default using WGS84
> ellipsoid and andoyer formula to calculate distances. So simply:
>
> using boost::geometry;
>
> using point = model::point<double, 2, cs::geographic<degree>>;
>
> using rtree = index::rtree<point, index::rstar<4>>;
>
> rtree rt;
>
> // or
>
> std::vector<point> pts;
>
> rtree rt2{pts.begin(), pts.end()};
>
> If you need different ellipsoid or more accurate formula it is also
> possible (since Boost 1.71) though it is not documented. It's because
> I'm not entirely sure what to do with the fact that with this approach
> the EqualTo is called with two or three arguments depending on the
> parameters passed into the R-tree so it may be confusing. So there is
> slight probability that the interface will change in case I found some
> better way of defining CS-specific parts of the computation. So if you
> e.g. need to pass a different ellipsoid you can wrap the R-tree
> parameters together with Index strategy and pass it into the R-tree like
> that:
>
> using boost::geometry;
>
> using formula = strategy::andoyer;// or more accurate strategy::vincenty
> srs::spheroid<double> sph(6378137.0, 6356752.3142451793);
>
> using point = model::point<double, 2, cs::geographic<degree>>;
> using parameters = index::parameters
>      <
>          index::rstar<4>,
>          strategy::index::geographic<formula>
>      >;
>
> using rtree = index::rtree<point, parameters>;
>
> rtree rt{parameters{index::rstar<4>{},
> strategy::index::geographic<formula>{sph}}};
>
> // or
>
> std::vector<point> pts;
>
> rtree rt2{pts.begin(), pts.end(),
> parameters{index::rstar<4>{},
> strategy::index::geographic<formula>{sph}}};
>
> Have in mind that I didn't test the code above so there may be some
> mistakes.
>
> Adam

1> test_env.cpp
1> e:\test\include\boost\geometry\strategies\distance.hpp(97): error C2664: 'int boost::mpl::assertion_failed<false>(boost::mpl::assert<false>::type)': cannot convert argument 1 from 'boost::mpl::failed ************(__cdecl boost::geometry::strategy::distance::services::default_strategy<boost::geometry::point_tag,boost::geometry::box_tag,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,boost::geometry::geographic_tag,boost::geometry::geographic_tag,void>::NOT_IMPLEMENTED_FOR_THIS_POINT_TYPE_COMBINATION::* ***********)(boost::mpl::assert_::types<Point1,Point2,CsTag1,CsTag2>)' to 'boost::mpl::assert<false>::type'
1> with
1> [
1> Point1=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> Point2=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> CsTag1=boost::geometry::geographic_tag,
1> CsTag2=boost::geometry::geographic_tag
1> ]
1> e:\test\include\boost\geometry\strategies\distance.hpp(101): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1> e:\test\include\boost\geometry\algorithms\detail\distance\default_strategies.hpp(100): note: see reference to class template instantiation 'boost::geometry::strategy::distance::services::default_strategy<boost::geometry::point_tag,boost::geometry::box_tag,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,boost::geometry::geographic_tag,boost::geometry::geographic_tag,void>' being compiled
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(52): note: see reference to class template instantiation 'boost::geometry::detail::distance::default_strategy<Geometry1,Geometry2,boost::geometry::pointlike_tag,boost::geometry::box_tag,false>' being compiled
1> with
1> [
1> Geometry1=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> Geometry2=boost::geometry::model::box<point>
1> ]
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(77): note: see reference to class template instantiation 'boost::geometry::resolve_strategy::comparable_distance_result<Geometry1,Geometry2,Strategy>' being compiled
1> with
1> [
1> Geometry1=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> Geometry2=boost::geometry::model::box<point>,
1> Strategy=boost::geometry::default_strategy
1> ]
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(185): note: see reference to class template instantiation 'boost::geometry::resolve_variant::comparable_distance_result<Geometry1,Geometry2,Strategy>' being compiled
1> with
1> [
1> Geometry1=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> Geometry2=boost::geometry::model::box<point>,
1> Strategy=boost::geometry::default_strategy
1> ]
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(190): note: see reference to class template instantiation 'boost::geometry::comparable_distance_result<Geometry1,Geometry2,boost::geometry::default_strategy>' being compiled
1> with
1> [
1> Geometry1=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> Geometry2=boost::geometry::model::box<point>
1> ]
1> e:\test\include\boost\geometry\strategies\default_comparable_distance_result.hpp(37): note: see reference to class template instantiation 'boost::geometry::comparable_distance_result<Geometry1,Geometry2,void>' being compiled
1> with
1> [
1> Geometry1=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> Geometry2=boost::geometry::model::box<point>
1> ]
1> e:\test\include\boost\geometry\index\detail\distance_predicates.hpp(111): note: see reference to class template instantiation 'boost::geometry::default_comparable_distance_result<boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,Indexable>' being compiled
1> with
1> [
1> Indexable=boost::geometry::model::box<point>
1> ]
1> e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(118): note: see reference to class template instantiation 'boost::geometry::index::detail::calculate_distance<boost::geometry::index::detail::predicates::nearest<point>,boost::geometry::model::box<point>,boost::geometry::index::detail::value_tag>' being compiled
1> e:\test\include\boost\geometry\index\rtree.hpp(1688): note: see reference to class template instantiation 'boost::geometry::index::detail::rtree::visitors::distance_query<std::pair<box,unsigned int>,boost::geometry::index::detail::rtree::options<boost::geometry::index::quadratic<16,4>,boost::geometry::index::detail::rtree::insert_default_tag,boost::geometry::index::detail::rtree::choose_by_content_diff_tag,boost::geometry::index::detail::rtree::split_default_tag,boost::geometry::index::detail::rtree::quadratic_tag,boost::geometry::index::detail::rtree::node_variant_static_tag>,boost::geometry::index::detail::translator<IndexableGetter,EqualTo>,boost::geometry::model::box<point>,boost::geometry::index::detail::rtree::allocators<std::allocator<Value>,Value,boost::geometry::index::quadratic<16,4>,boost::geometry::model::box<point>,boost::geometry::index::detail::rtree::node_variant_static_tag>,Predicates,0,OutIter>' being compiled
1> with
1> [
1> IndexableGetter=boost::geometry::index::indexable<value>,
1> EqualTo=boost::geometry::index::equal_to<value>,
1> Value=value,
1> Predicates=boost::geometry::index::detail::predicates::nearest<point>,
1> OutIter=std::back_insert_iterator<std::vector<value,std::allocator<value>>>
1> ]
1> e:\test\include\boost\geometry\index\rtree.hpp(837): note: see reference to function template instantiation 'unsigned __int64 boost::geometry::index::rtree<value,boost::geometry::index::quadratic<16,4>,boost::geometry::index::indexable<Value>,boost::geometry::index::equal_to<Value>,std::allocator<Value>>::query_dispatch<Predicates,OutIter>(const Predicates &,OutIter,const boost::mpl::bool_<true> &) const' being compiled
1> with
1> [
1> Value=value,
1> Predicates=boost::geometry::index::detail::predicates::nearest<point>,
1> OutIter=std::back_insert_iterator<std::vector<value,std::allocator<value>>>
1> ]
1> e:\test\include\boost\geometry\index\rtree.hpp(837): note: see reference to function template instantiation 'unsigned __int64 boost::geometry::index::rtree<value,boost::geometry::index::quadratic<16,4>,boost::geometry::index::indexable<Value>,boost::geometry::index::equal_to<Value>,std::allocator<Value>>::query_dispatch<Predicates,OutIter>(const Predicates &,OutIter,const boost::mpl::bool_<true> &) const' being compiled
1> with
1> [
1> Value=value,
1> Predicates=boost::geometry::index::detail::predicates::nearest<point>,
1> OutIter=std::back_insert_iterator<std::vector<value,std::allocator<value>>>
1> ]
1> e:\test\test_env.cpp(32): note: see reference to function template instantiation 'unsigned __int64 boost::geometry::index::rtree<value,boost::geometry::index::quadratic<16,4>,boost::geometry::index::indexable<Value>,boost::geometry::index::equal_to<Value>,std::allocator<Value>>::query<boost::geometry::index::detail::predicates::nearest<point>,std::back_insert_iterator<std::vector<value,std::allocator<Value>>>>(const Predicates &,OutIter) const' being compiled
1> with
1> [
1> Value=value,u
1> Predicates=boost::geometry::index::detail::predicates::nearest<point>,
1> OutIter=std::back_insert_iterator<std::vector<value,std::allocator<value>>>
1> ]
1> e:\test\test_env.cpp(32): note: see reference to function template instantiation 'unsigned __int64 boost::geometry::index::rtree<value,boost::geometry::index::quadratic<16,4>,boost::geometry::index::indexable<Value>,boost::geometry::index::equal_to<Value>,std::allocator<Value>>::query<boost::geometry::index::detail::predicates::nearest<point>,std::back_insert_iterator<std::vector<value,std::allocator<Value>>>>(const Predicates &,OutIter) const' being compiled
1> with
1> [
1> Value=value,
1> Predicates=boost::geometry::index::detail::predicates::nearest<point>,
1> OutIter=std::back_insert_iterator<std::vector<value,std::allocator<value>>>
1> ]
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(59): error C2039: 'type': is not a member of 'boost::geometry::detail::distance::default_strategy<Geometry1,Geometry2,boost::geometry::pointlike_tag,boost::geometry::box_tag,false>'
1> with
1> [
1> Geometry1=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> Geometry2=boost::geometry::model::box<point>
1> ]
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(56): note: see declaration of 'boost::geometry::detail::distance::default_strategy<Geometry1,Geometry2,boost::geometry::pointlike_tag,boost::geometry::box_tag,false>'
1> with
1> [
1> Geometry1=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> Geometry2=boost::geometry::model::box<point>
1> ]
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(52): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter 'Strategy', expected a real type
1> e:\test\include\boost\geometry\strategies\distance.hpp(51): error C2664: 'int boost::mpl::assertion_failed<false>(boost::mpl::assert<false>::type)': cannot convert argument 1 from 'boost::mpl::failed ************(__cdecl boost::geometry::strategy::distance::services::comparable_type<Strategy>::NOT_IMPLEMENTED_FOR_THIS_STRATEGY::* ***********)(boost::mpl::assert_::types<Strategy,boost::mpl::na,boost::mpl::na,boost::mpl::na>)' to 'boost::mpl::assert<false>::type'
1> with
1> [
1> Strategy=int
1> ]
1> e:\test\include\boost\geometry\strategies\distance.hpp(54): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(39): note: see reference to class template instantiation 'boost::geometry::strategy::distance::services::comparable_type<Strategy>' being compiled
1> with
1> [
1> Strategy=int
1> ]
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(61): note: see reference to class template instantiation 'boost::geometry::resolve_strategy::comparable_distance_result<Geometry1,Geometry2,int>' being compiled
1> with
1> [
1> Geometry1=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> Geometry2=boost::geometry::model::box<point>
1> ]
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(44): error C2039: 'type': is not a member of 'boost::geometry::strategy::distance::services::comparable_type<Strategy>'
1> with
1> [
1> Strategy=int
1> ]
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(41): note: see declaration of 'boost::geometry::strategy::distance::services::comparable_type<Strategy>'
1> with
1> [
1> Strategy=int
1> ]
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(39): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter 'Strategy', expected a real type
1> e:\test\include\boost\geometry\strategies\distance.hpp(42): error C2664: 'int boost::mpl::assertion_failed<false>(boost::mpl::assert<false>::type)': cannot convert argument 1 from 'boost::mpl::failed ************(__cdecl boost::geometry::strategy::distance::services::return_type<int,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>>::NOT_IMPLEMENTED_FOR_THIS_STRATEGY::* ***********)(boost::mpl::assert_::types<Strategy,P1,P2,boost::mpl::na>)' to 'boost::mpl::assert<false>::type'
1> with
1> [
1> Strategy=int,
1> P1=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,
1> P2=boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>
1> ]
1> e:\test\include\boost\geometry\strategies\distance.hpp(45): note: No constructor could take the source type, or constructor overload resolution was ambiguous
1> e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(48): note: see reference to class template instantiation 'boost::geometry::strategy::distance::services::return_type<int,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>>' being compiled
1> e:\test\include\boost\geometry\index\detail\distance_predicates.hpp(111): error C2039: 'type': is not a member of 'boost::geometry::default_comparable_distance_result<boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,Indexable>'
1> with
1> [
1> Indexable=boost::geometry::model::box<point>
1> ]
1> e:\test\include\boost\geometry\index\detail\distance_predicates.hpp(111): note: see declaration of 'boost::geometry::default_comparable_distance_result<boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,Indexable>'
1> with
1> [
1> Indexable=boost::geometry::model::box<point>
1> ]
1> e:\test\include\boost\geometry\index\detail\distance_predicates.hpp(111): error C2955: 'boost::type': use of class template requires template argument list
1> e:\test\include\boost\type.hpp(14): note: see declaration of 'boost::type'
1> e:\test\include\boost\geometry\index\detail\distance_predicates.hpp(113): error C2955: 'boost::type': use of class template requires template argument list
1> e:\test\include\boost\type.hpp(14): note: see declaration of 'boost::type'
1> e:\test\include\boost\geometry\index\detail\distance_predicates.hpp(114): error C2955: 'boost::type': use of class template requires template argument list
1> e:\test\include\boost\type.hpp(14): note: see declaration of 'boost::type'
1> e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(118): error C2955: 'boost::type': use of class template requires template argument list
1> e:\test\include\boost\type.hpp(14): note: see declaration of 'boost::type'
1> e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(119): error C2955: 'boost::type': use of class template requires template argument list
1> e:\test\include\boost\type.hpp(14): note: see declaration of 'boost::type'
1> e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(250): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter '_Ty1', expected a real type
1> e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(251): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter '_Ty1', expected a real type
1> e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(264): error C2955: 'boost::type': use of class template requires template argument list
1> e:\test\include\boost\type.hpp(14): note: see declaration of 'boost::type'
1> e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(265): error C2955: 'boost::type': use of class template requires template argument list
1> e:\test\include\boost\type.hpp(14): note: see declaration of 'boost::type'
1> e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(278): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter 'DistanceType', expected a real type
1>Done building target "ClCompile" in project "test.vcxproj" -- FAILED.
1>
1>Done building project "test.vcxproj" -- FAILED.
1>
1>Build FAILED.
1>
1>e:\test\include\boost\geometry\strategies\distance.hpp(97): error C2664: 'int boost::mpl::assertion_failed<false>(boost::mpl::assert<false>::type)': cannot convert argument 1 from 'boost::mpl::failed ************(__cdecl boost::geometry::strategy::distance::services::default_strategy<boost::geometry::point_tag,boost::geometry::box_tag,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,boost::geometry::geographic_tag,boost::geometry::geographic_tag,void>::NOT_IMPLEMENTED_FOR_THIS_POINT_TYPE_COMBINATION::* ***********)(boost::mpl::assert_::types<Point1,Point2,CsTag1,CsTag2>)' to 'boost::mpl::assert<false>::type'
1>e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(59): error C2039: 'type': is not a member of 'boost::geometry::detail::distance::default_strategy<Geometry1,Geometry2,boost::geometry::pointlike_tag,boost::geometry::box_tag,false>'
1>e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(52): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter 'Strategy', expected a real type
1>e:\test\include\boost\geometry\strategies\distance.hpp(51): error C2664: 'int boost::mpl::assertion_failed<false>(boost::mpl::assert<false>::type)': cannot convert argument 1 from 'boost::mpl::failed ************(__cdecl boost::geometry::strategy::distance::services::comparable_type<Strategy>::NOT_IMPLEMENTED_FOR_THIS_STRATEGY::* ***********)(boost::mpl::assert_::types<Strategy,boost::mpl::na,boost::mpl::na,boost::mpl::na>)' to 'boost::mpl::assert<false>::type'
1>e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(44): error C2039: 'type': is not a member of 'boost::geometry::strategy::distance::services::comparable_type<Strategy>'
1>e:\test\include\boost\geometry\strategies\comparable_distance_result.hpp(39): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter 'Strategy', expected a real type
1>e:\test\include\boost\geometry\strategies\distance.hpp(42): error C2664: 'int boost::mpl::assertion_failed<false>(boost::mpl::assert<false>::type)': cannot convert argument 1 from 'boost::mpl::failed ************(__cdecl boost::geometry::strategy::distance::services::return_type<int,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>>::NOT_IMPLEMENTED_FOR_THIS_STRATEGY::* ***********)(boost::mpl::assert_::types<Strategy,P1,P2,boost::mpl::na>)' to 'boost::mpl::assert<false>::type'
1>e:\test\include\boost\geometry\index\detail\distance_predicates.hpp(111): error C2039: 'type': is not a member of 'boost::geometry::default_comparable_distance_result<boost::geometry::model::point<float,2,boost::geometry::cs::geographic<boost::geometry::degree>>,Indexable>'
1>e:\test\include\boost\geometry\index\detail\distance_predicates.hpp(111): error C2955: 'boost::type': use of class template requires template argument list
1>e:\test\include\boost\geometry\index\detail\distance_predicates.hpp(113): error C2955: 'boost::type': use of class template requires template argument list
1>e:\test\include\boost\geometry\index\detail\distance_predicates.hpp(114): error C2955: 'boost::type': use of class template requires template argument list
1>e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(118): error C2955: 'boost::type': use of class template requires template argument list
1>e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(119): error C2955: 'boost::type': use of class template requires template argument list
1>e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(250): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter '_Ty1', expected a real type
1>e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(251): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter '_Ty1', expected a real type
1>e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(264): error C2955: 'boost::type': use of class template requires template argument list
1>e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(265): error C2955: 'boost::type': use of class template requires template argument list
1>e:\test\include\boost\geometry\index\detail\rtree\visitors\distance_query.hpp(278): error C3203: 'type': unspecialized class template can't be used as a template argument for template parameter 'DistanceType', expected a real type
1> 0 Warning(s)
1> 18 Error(s)
1>
1>Time Elapsed 00:00:01.59
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net