In file included from /usr/include/boost/intrusive/detail/key_nodeptr_comp.hpp:26:0, from /usr/include/boost/intrusive/bstree.hpp:33, from /usr/include/boost/intrusive/rbtree.hpp:23, from /usr/include/boost/intrusive/set.hpp:20, from /usr/include/boost/interprocess/indexes/iset_index.hpp:30, from /usr/include/boost/interprocess/segment_manager.hpp:36, from /usr/include/boost/interprocess/detail/managed_memory_impl.hpp:30, from /usr/include/boost/interprocess/managed_shared_memory.hpp:25, from foo.cc:4: /usr/include/boost/intrusive/detail/tree_value_compare.hpp: In instantiation of ‘struct boost::intrusive::tree_value_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, false>’: /usr/include/boost/container/detail/compare_functors.hpp:41:8: required from ‘struct boost::container::value_to_node_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, boost::intrusive::tree_value_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, false> >’ /usr/include/boost/intrusive/detail/ebo_functor_holder.hpp:226:7: required from ‘class boost::intrusive::detail::ebo_functor_holder, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, boost::intrusive::tree_value_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, false> >, false>’ /usr/include/boost/intrusive/detail/tree_value_compare.hpp:114:8: required from ‘struct boost::intrusive::tree_value_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, long int, long unsigned int, 0ul>, boost::container::value_to_node_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, boost::intrusive::tree_value_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, false> >, boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true> >, true>’ /usr/include/boost/intrusive/detail/ebo_functor_holder.hpp:226:7: required from ‘class boost::intrusive::detail::ebo_functor_holder, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, long int, long unsigned int, 0ul>, boost::container::value_to_node_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, boost::intrusive::tree_value_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, false> >, boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true> >, true>, false>’ /usr/include/boost/intrusive/bstree.hpp:270:8: required from ‘struct boost::intrusive::bstbase2, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, boost::intrusive::rbtree_node_traits, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::dft_tag, 3u>, void, boost::container::value_to_node_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, boost::intrusive::tree_value_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, false> >, (boost::intrusive::algo_types)5u, void>’ /usr/include/boost/intrusive/bstree.hpp:518:8: [ skipping 10 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] /usr/include/boost/container/detail/pair.hpp:156:7: required from ‘struct boost::container::container_detail::pair, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >’ /usr/include/boost/container/detail/tree.hpp:153:18: required from ‘struct boost::container::container_detail::tree_node, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>’ /usr/include/boost/intrusive/bstree.hpp:593:42: required from ‘boost::intrusive::bstbase::~bstbase() [with ValueTraits = boost::intrusive::bhtraits, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, boost::intrusive::rbtree_node_traits, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::dft_tag, 3u>; VoidOrKeyOfValue = void; VoidOrKeyComp = boost::container::value_to_node_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, boost::intrusive::tree_value_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >, long int, long unsigned int, 0ul>, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > > >, boost::container::container_detail::select1st, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > > >, false> >; bool ConstantTimeSize = true; SizeType = long unsigned int; boost::intrusive::algo_types AlgoType = (boost::intrusive::algo_types)5u; HeaderHolder = void]’ /usr/include/boost/intrusive/bstree.hpp:622:7: required from ‘boost::container::container_detail::node_alloc_holder::~node_alloc_holder() [with Allocator = boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> >; ICont = boost::intrusive::rbtree_impl, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, boost::intrusive::rbtree_node_traits, true>, (boost::intrusive::link_mode_type)0u, boost::intrusive::dft_tag, 3u>, void, boost::container::value_to_node_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >, boost::interprocess::offset_ptr, (boost::container::tree_type_enum)0u, true>, boost::intrusive::tree_value_compare, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >, long int, long unsigned int, 0ul>, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > > >, boost::container::container_detail::select1st, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > > >, false> >, long unsigned int, true, void>]’ /usr/include/boost/container/detail/tree.hpp:648:5: required from ‘boost::container::container_detail::tree::~tree() [with T = std::pair, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >; KeyOfValue = boost::container::container_detail::select1st, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > > >; Compare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > > >; Allocator = boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::container::set, boost::interprocess::allocator, boost::interprocess::iset_index> > >, std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >, boost::interprocess::allocator, boost::interprocess::allocator, boost::interprocess::iset_index> > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> > > >, boost::interprocess::segment_manager, boost::interprocess::iset_index> >; Options = boost::container::tree_opt<(boost::container::tree_type_enum)0u, true>]’ /usr/include/boost/container/map.hpp:105:7: required from here /usr/include/boost/intrusive/detail/tree_value_compare.hpp:83:37: error: ‘bool boost::intrusive::tree_value_compare >::operator()(const value_type&, const value_type&) const [with ValuePtr = boost::interprocess::offset_ptr, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>; KeyCompare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; KeyOfValue = boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; bool = false; boost::intrusive::tree_value_compare >::value_type = boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > >]’ cannot be overloaded BOOST_INTRUSIVE_FORCEINLINE bool operator()(const value_type &value1, const value_type &value2) const ^~~~~~~~ /usr/include/boost/intrusive/detail/tree_value_compare.hpp:80:37: error: with ‘bool boost::intrusive::tree_value_compare >::operator()(const key_type&, const key_type&) const [with ValuePtr = boost::interprocess::offset_ptr, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>; KeyCompare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; KeyOfValue = boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; bool = false; boost::intrusive::tree_value_compare >::key_type = const boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > >]’ BOOST_INTRUSIVE_FORCEINLINE bool operator()(const key_type &key1, const key_type &key2) const ^~~~~~~~ /usr/include/boost/intrusive/detail/tree_value_compare.hpp:86:37: error: ‘bool boost::intrusive::tree_value_compare >::operator()(const key_type&, const value_type&) const [with ValuePtr = boost::interprocess::offset_ptr, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>; KeyCompare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; KeyOfValue = boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; bool = false; boost::intrusive::tree_value_compare >::key_type = const boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > >; boost::intrusive::tree_value_compare >::value_type = boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > >]’ cannot be overloaded BOOST_INTRUSIVE_FORCEINLINE bool operator()(const key_type &key1, const value_type &value2) const ^~~~~~~~ /usr/include/boost/intrusive/detail/tree_value_compare.hpp:80:37: error: with ‘bool boost::intrusive::tree_value_compare >::operator()(const key_type&, const key_type&) const [with ValuePtr = boost::interprocess::offset_ptr, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>; KeyCompare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; KeyOfValue = boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; bool = false; boost::intrusive::tree_value_compare >::key_type = const boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > >]’ BOOST_INTRUSIVE_FORCEINLINE bool operator()(const key_type &key1, const key_type &key2) const ^~~~~~~~ /usr/include/boost/intrusive/detail/tree_value_compare.hpp:89:37: error: ‘bool boost::intrusive::tree_value_compare >::operator()(const value_type&, const key_type&) const [with ValuePtr = boost::interprocess::offset_ptr, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>; KeyCompare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; KeyOfValue = boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; bool = false; boost::intrusive::tree_value_compare >::value_type = boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > >; boost::intrusive::tree_value_compare >::key_type = const boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > >]’ cannot be overloaded BOOST_INTRUSIVE_FORCEINLINE bool operator()(const value_type &value1, const key_type &key2) const ^~~~~~~~ /usr/include/boost/intrusive/detail/tree_value_compare.hpp:80:37: error: with ‘bool boost::intrusive::tree_value_compare >::operator()(const key_type&, const key_type&) const [with ValuePtr = boost::interprocess::offset_ptr, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>; KeyCompare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; KeyOfValue = boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; bool = false; boost::intrusive::tree_value_compare >::key_type = const boost::container::basic_string, boost::interprocess::allocator, boost::interprocess::iset_index> > >]’ BOOST_INTRUSIVE_FORCEINLINE bool operator()(const key_type &key1, const key_type &key2) const ^~~~~~~~ /usr/include/boost/intrusive/detail/tree_value_compare.hpp:103:37: error: ‘template bool boost::intrusive::tree_value_compare >::operator()(const value_type&, const U&, typename boost::intrusive::disable_if_smartref_to::type*) const [with U = U; ValuePtr = boost::interprocess::offset_ptr, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>; KeyCompare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; KeyOfValue = boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; bool = false]’ cannot be overloaded BOOST_INTRUSIVE_FORCEINLINE bool operator()( const value_type &value1, const U &nonvalue2 ^~~~~~~~ /usr/include/boost/intrusive/detail/tree_value_compare.hpp:93:37: error: with ‘template bool boost::intrusive::tree_value_compare >::operator()(const key_type&, const U&, typename boost::intrusive::disable_if_smartref_to::type*) const [with U = U; ValuePtr = boost::interprocess::offset_ptr, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>; KeyCompare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; KeyOfValue = boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; bool = false]’ BOOST_INTRUSIVE_FORCEINLINE bool operator()( const key_type &key1, const U &nonkey2 ^~~~~~~~ /usr/include/boost/intrusive/detail/tree_value_compare.hpp:108:37: error: ‘template bool boost::intrusive::tree_value_compare >::operator()(const U&, const value_type&, typename boost::intrusive::disable_if_smartref_to::type*) const [with U = U; ValuePtr = boost::interprocess::offset_ptr, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>; KeyCompare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; KeyOfValue = boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; bool = false]’ cannot be overloaded BOOST_INTRUSIVE_FORCEINLINE bool operator()( const U &nonvalue1, const value_type &value2 ^~~~~~~~ /usr/include/boost/intrusive/detail/tree_value_compare.hpp:98:37: error: with ‘template bool boost::intrusive::tree_value_compare >::operator()(const U&, const key_type&, typename boost::intrusive::disable_if_smartref_to::type*) const [with U = U; ValuePtr = boost::interprocess::offset_ptr, boost::interprocess::allocator, boost::interprocess::iset_index> > >, long int, long unsigned int, 0ul>; KeyCompare = std::less, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; KeyOfValue = boost::move_detail::identity, boost::interprocess::allocator, boost::interprocess::iset_index> > > >; bool = false]’ BOOST_INTRUSIVE_FORCEINLINE bool operator()( const U &nonkey1, const key_type &key2 ^~~~~~~~