boostorg / range

Boost.org range module
http://boost.org/libs/range
43 stars 104 forks source link

call of overloaded ‘ignore_unused_variable_warning(...)’ is ambiguous #78

Open Magnati opened 5 years ago

Magnati commented 5 years ago

Hello dear team of Boostorg/range.

I was already at boostorg/geometry, but now the the error continued to exist, and is triggered by boost/range/concepts.hpp:19.

The error is pretty much the same as in the closed issue #9438, because there are ambigous declarations for ignore_unused_variable_warning(...) in boost and lemon.

In boostorg/geometry the method ignore_unused_variable_warning(...) was replaced, this way in #514.

#include <boost/geometry.hpp>
#include <lemon/list_graph.h>

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

using Point = boost::geometry::model::point<double, 2, bg::cs::cartesian>;
using Graph = lemon::ListDigraph;
using Node = lemon::ListDigraph::Node;
typedef std::pair<Point, Node> Pair;
using BoostRTree = bgi::rtree<Pair, bgi::quadratic<16>>;
using BoostQueryResult = std::vector<Pair>;

int main()
{
    Point one = Point(10, 51);
    Point two = Point(10, 51);
    BoostRTree rtreePair = BoostRTree();
    Graph graph;
    Node dummy1 = graph.addNode();
    Node dummy2 = graph.addNode();

    rtreePair.insert(std::make_pair(one, dummy1));  
    return 0;
}

Here is the first error instance of the compiler output. All output has ~200k characters... so not sure if you want to see it.

In file included from /usr/include/boost/range/concepts.hpp:19:0,
                 from /usr/include/boost/range/size_type.hpp:20,
                 from /usr/include/boost/range/size.hpp:21,
                 from /usr/include/boost/range/functions.hpp:20,
                 from /usr/include/boost/range/iterator_range_core.hpp:38,
                 from /usr/include/boost/lexical_cast.hpp:30,
                 from /usr/include/boost/math/tools/convert_from_string.hpp:15,
                 from /usr/include/boost/math/constants/constants.hpp:13,
                 from /usr/include/boost/geometry/util/math.hpp:28,
                 from /usr/include/boost/geometry/core/radian_access.hpp:33,
                 from /usr/include/boost/geometry/geometry.hpp:43,
                 from /usr/include/boost/geometry.hpp:17,
                 from test.cpp:1:
/usr/include/boost/concept_check.hpp: In instantiation of ‘boost::DefaultConstructible<TT>::~DefaultConstructible() [with TT = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>*]’:
/usr/include/boost/iterator/iterator_concepts.hpp:143:3:   required from ‘static void boost::concepts::requirement<boost::concepts::failed************ Model::************>::failed() [with Model = boost_concepts::ForwardTraversal<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>*>]’
/usr/include/boost/geometry/index/detail/varray.hpp:288:9:   required from ‘boost::geometry::index::detail::varray<Value, Capacity>::varray(Iterator, Iterator) [with Iterator = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>*; Value = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>; long unsigned int Capacity = 17]’
/usr/include/boost/geometry/index/detail/rtree/quadratic/redistribute_elements.hpp:116:24:   required from ‘static void boost::geometry::index::detail::rtree::redistribute_elements<Value, Options, Translator, Box, Allocators, boost::geometry::index::detail::rtree::quadratic_tag>::apply(Node&, Node&, Box&, Box&, const parameters_type&, const Translator&, Allocators&) [with Node = boost::geometry::index::detail::rtree::variant_leaf<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag>; Value = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>; Options = boost::geometry::index::detail::rtree::options<boost::geometry::index::quadratic<16>, 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>; Translator = boost::geometry::index::detail::translator<boost::geometry::index::indexable<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, boost::geometry::index::equal_to<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> > >; Box = boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >; Allocators = boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>; boost::geometry::index::detail::rtree::redistribute_elements<Value, Options, Translator, Box, Allocators, boost::geometry::index::detail::rtree::quadratic_tag>::parameters_type = boost::geometry::index::quadratic<16>]’
/usr/include/boost/geometry/index/detail/rtree/visitors/insert.hpp:164:17:   required from ‘static void boost::geometry::index::detail::rtree::split<Value, Options, Translator, Box, Allocators, boost::geometry::index::detail::rtree::split_default_tag>::apply(boost::geometry::index::detail::rtree::split<Value, Options, Translator, Box, Allocators, boost::geometry::index::detail::rtree::split_default_tag>::nodes_container_type&, Node&, Box&, const parameters_type&, const Translator&, Allocators&) [with Node = boost::geometry::index::detail::rtree::variant_leaf<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag>; Value = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>; Options = boost::geometry::index::detail::rtree::options<boost::geometry::index::quadratic<16>, 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>; Translator = boost::geometry::index::detail::translator<boost::geometry::index::indexable<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, boost::geometry::index::equal_to<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> > >; Box = boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >; Allocators = boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>; boost::geometry::index::detail::rtree::split<Value, Options, Translator, Box, Allocators, boost::geometry::index::detail::rtree::split_default_tag>::nodes_container_type = boost::geometry::index::detail::varray<boost::geometry::index::detail::rtree::ptr_pair<boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::variant<boost::geometry::index::detail::rtree::variant_leaf<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::variant_internal_node<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16, 4>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16, 4>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag> >*>, 1>; typename boost::geometry::index::detail::rtree::elements_type<typename boost::geometry::index::detail::rtree::internal_node<Value, typename Options::parameters_type, Box, Allocators, typename Options::node_tag>::type>::type::value_type = boost::geometry::index::detail::rtree::ptr_pair<boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::variant<boost::geometry::index::detail::rtree::variant_leaf<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::variant_internal_node<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16, 4>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16, 4>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag> >*>; boost::geometry::index::detail::rtree::split<Value, Options, Translator, Box, Allocators, boost::geometry::index::detail::rtree::split_default_tag>::parameters_type = boost::geometry::index::quadratic<16>]’
/usr/include/boost/geometry/index/detail/rtree/visitors/insert.hpp:357:26:   required from ‘void boost::geometry::index::detail::rtree::visitors::detail::insert<Element, Value, Options, Translator, Box, Allocators>::split(Node&) const [with Node = boost::geometry::index::detail::rtree::variant_leaf<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag>; Element = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>; Value = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>; Options = boost::geometry::index::detail::rtree::options<boost::geometry::index::quadratic<16>, 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>; Translator = boost::geometry::index::detail::translator<boost::geometry::index::indexable<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, boost::geometry::index::equal_to<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> > >; Box = boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >; Allocators = boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>]’
/usr/include/boost/geometry/index/detail/rtree/visitors/insert.hpp:326:18:   [ skipping 8 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
/usr/include/boost/variant/variant.hpp:2431:52:   required from ‘typename Visitor::result_type boost::variant<T0, TN>::apply_visitor(Visitor&) [with Visitor = boost::geometry::index::detail::rtree::visitors::insert<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::detail::rtree::options<boost::geometry::index::quadratic<16>, 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<boost::geometry::index::indexable<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, boost::geometry::index::equal_to<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> > >, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::insert_default_tag>; T0_ = boost::geometry::index::detail::rtree::variant_leaf<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag>; TN = {boost::geometry::index::detail::rtree::variant_internal_node<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16, 4>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16, 4>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag>}; typename Visitor::result_type = void]’
/usr/include/boost/variant/detail/apply_visitor_unary.hpp:70:43:   required from ‘typename Visitor::result_type boost::apply_visitor(Visitor&, Visitable&) [with Visitor = boost::geometry::index::detail::rtree::visitors::insert<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::detail::rtree::options<boost::geometry::index::quadratic<16>, 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<boost::geometry::index::indexable<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, boost::geometry::index::equal_to<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> > >, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::insert_default_tag>; Visitable = boost::variant<boost::geometry::index::detail::rtree::variant_leaf<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::variant_internal_node<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16, 4>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16, 4>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::node_variant_static_tag> >; typename Visitor::result_type = void]’
/usr/include/boost/geometry/index/detail/rtree/node/variant_visitor.hpp:51:25:   required from ‘void boost::geometry::index::detail::rtree::apply_visitor(Visitor&, boost::variant<boost::geometry::index::detail::rtree::variant_leaf<Value, Parameters, Box, Allocators, Tag>, boost::geometry::index::detail::rtree::variant_internal_node<Value, Parameters, Box, Allocators, Tag> >&) [with Visitor = boost::geometry::index::detail::rtree::visitors::insert<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::detail::rtree::options<boost::geometry::index::quadratic<16>, 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<boost::geometry::index::indexable<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, boost::geometry::index::equal_to<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> > >, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>, boost::geometry::index::detail::rtree::insert_default_tag>; Value = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>; Parameters = boost::geometry::index::quadratic<16>; Box = boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >; Allocators = boost::geometry::index::detail::rtree::allocators<std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >, std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>, boost::geometry::index::quadratic<16>, boost::geometry::model::box<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian> >, boost::geometry::index::detail::rtree::node_variant_static_tag>; Tag = boost::geometry::index::detail::rtree::node_variant_static_tag]’
/usr/include/boost/geometry/index/rtree.hpp:1454:37:   required from ‘void boost::geometry::index::rtree<Value, Options, IndexableGetter, EqualTo, Allocator>::raw_insert(const value_type&) [with Value = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>; Parameters = boost::geometry::index::quadratic<16>; IndexableGetter = boost::geometry::index::indexable<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >; EqualTo = boost::geometry::index::equal_to<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >; Allocator = std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >; boost::geometry::index::rtree<Value, Options, IndexableGetter, EqualTo, Allocator>::value_type = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>]’
/usr/include/boost/geometry/index/rtree.hpp:582:15:   required from ‘void boost::geometry::index::rtree<Value, Options, IndexableGetter, EqualTo, Allocator>::insert(const value_type&) [with Value = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>; Parameters = boost::geometry::index::quadratic<16>; IndexableGetter = boost::geometry::index::indexable<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >; EqualTo = boost::geometry::index::equal_to<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >; Allocator = std::allocator<std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node> >; boost::geometry::index::rtree<Value, Options, IndexableGetter, EqualTo, Allocator>::value_type = std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>]’
test.cpp:23:49:   required from here
/usr/include/boost/concept_check.hpp:139:37: error: call of overloaded ‘ignore_unused_variable_warning(std::pair<boost::geometry::model::point<double, 2, boost::geometry::cs::cartesian>, lemon::ListDigraphBase::Node>*&)’ is ambiguous
       ignore_unused_variable_warning(a);