In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19:0, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp: In instantiation of ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {int, int}; T = boost::container::container_detail::pair]’: ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:523:41: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: error: no matching function for call to ‘dispatch_uses_allocator(boost::container::new_allocator >&, boost::container::pmr::memory_resource*, boost::container::container_detail::pair*&, int, int)’ container_detail::dispatch_uses_allocator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (na, this->resource(), p, ::boost::forward(args)...); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:21:0, from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:117:12: note: candidate: template typename boost::move_detail::enable_if_and, boost::move_detail::not_ > >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) >::type dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:117:12: note: template argument deduction/substitution failed: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp: In substitution of ‘template typename boost::move_detail::enable_if_and, boost::move_detail::not_ > >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) [with ConstructAlloc = boost::container::new_allocator >; ArgAlloc = boost::container::pmr::memory_resource*; T = boost::container::container_detail::pair; Args = {int, int}]’: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: required from ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {int, int}; T = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:523:41: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:117:12: error: no type named ‘type’ in ‘struct boost::move_detail::enable_if_and >, boost::move_detail::not_, boost::container::pmr::memory_resource*> >, boost::move_detail::bool_, boost::move_detail::bool_ >’ ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp: In instantiation of ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {int, int}; T = boost::container::container_detail::pair]’: ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:523:41: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:135:12: note: candidate: template typename boost::move_detail::enable_if_and, boost::container::uses_allocator, boost::container::container_detail::is_constructible_with_allocator_prefix >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) >::type dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:135:12: note: template argument deduction/substitution failed: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp: In substitution of ‘template typename boost::move_detail::enable_if_and, boost::container::uses_allocator, boost::container::container_detail::is_constructible_with_allocator_prefix >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) [with ConstructAlloc = boost::container::new_allocator >; ArgAlloc = boost::container::pmr::memory_resource*; T = boost::container::container_detail::pair; Args = {int, int}]’: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: required from ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {int, int}; T = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:523:41: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:135:12: error: no type named ‘type’ in ‘struct boost::move_detail::enable_if_and >, boost::container::uses_allocator, boost::container::pmr::memory_resource*>, boost::container::container_detail::is_constructible_with_allocator_prefix, boost::container::pmr::memory_resource*, int, int>, boost::move_detail::bool_ >’ ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp: In instantiation of ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {int, int}; T = boost::container::container_detail::pair]’: ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:523:41: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:154:12: note: candidate: template typename boost::move_detail::enable_if_and, boost::container::uses_allocator, boost::move_detail::not_ > >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) >::type dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:154:12: note: template argument deduction/substitution failed: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp: In substitution of ‘template typename boost::move_detail::enable_if_and, boost::container::uses_allocator, boost::move_detail::not_ > >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) [with ConstructAlloc = boost::container::new_allocator >; ArgAlloc = boost::container::pmr::memory_resource*; T = boost::container::container_detail::pair; Args = {int, int}]’: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: required from ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {int, int}; T = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:523:41: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:154:12: error: no type named ‘type’ in ‘struct boost::move_detail::enable_if_and >, boost::container::uses_allocator, boost::container::pmr::memory_resource*>, boost::move_detail::not_, boost::container::pmr::memory_resource*, int, int> >, boost::move_detail::bool_ >’ ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp: In instantiation of ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {int, int}; T = boost::container::container_detail::pair]’: ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {int, int}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:523:41: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:223:4: note: candidate: template typename boost::move_detail::enable_if >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&, Pair*) dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:223:4: note: template argument deduction/substitution failed: In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19:0, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: note: candidate expects 3 arguments, 5 provided container_detail::dispatch_uses_allocator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (na, this->resource(), p, ::boost::forward(args)...); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:21:0, from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:244:4: note: candidate: typename boost::move_detail::enable_if >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&, Pair*, U&&, V&&) [with ConstructAlloc = boost::container::new_allocator >; ArgAlloc = boost::container::pmr::memory_resource*; Pair = boost::container::container_detail::pair; U = int; V = int; typename boost::move_detail::enable_if >::type = void] dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:244:4: note: conversion of argument 2 would be ill-formed: In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19:0, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: error: invalid initialization of non-const reference of type ‘boost::container::pmr::memory_resource*&’ from an rvalue of type ‘boost::container::pmr::memory_resource*’ container_detail::dispatch_uses_allocator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (na, this->resource(), p, ::boost::forward(args)...); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:21:0, from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:264:4: note: candidate: template typename boost::move_detail::enable_if >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&, Pair*, Pair2&) dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:264:4: note: template argument deduction/substitution failed: In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19:0, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: note: candidate expects 4 arguments, 5 provided container_detail::dispatch_uses_allocator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (na, this->resource(), p, ::boost::forward(args)...); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:21:0, from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:277:4: note: candidate: template typename boost::move_detail::enable_if_and, boost::move_detail::not_ > >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&, Pair*, Pair2&&) dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:277:4: note: template argument deduction/substitution failed: In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19:0, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: note: candidate expects 4 arguments, 5 provided container_detail::dispatch_uses_allocator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (na, this->resource(), p, ::boost::forward(args)...); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp: In instantiation of ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; T = boost::container::container_detail::pair]’: ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/advanced_insert_int.hpp:187:30: required from ‘void boost::container::container_detail::insert_move_proxy::uninitialized_copy_n_and_update(Allocator&, Iterator, boost::container::container_detail::insert_move_proxy::size_type) const [with Allocator = boost::container::pmr::polymorphic_allocator >; Iterator = boost::container::container_detail::pair*; boost::container::container_detail::insert_move_proxy::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2948:10: required from ‘void boost::container::vector::priv_forward_range_insert_expand_forward(T*, boost::container::vector::size_type, InsertionProxy) [with InsertionProxy = boost::container::container_detail::insert_move_proxy >, boost::container::container_detail::pair*>; T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2810:10: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:1872:4: required from ‘boost::container::vector::iterator boost::container::vector::insert(boost::container::vector::const_iterator, T&&) [with T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; typename boost::container::allocator_traits::pointer = boost::container::container_detail::pair*; boost::container::vector::const_iterator = boost::container::container_detail::vec_iterator*, true>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:843:52: required from ‘boost::container::container_detail::flat_tree::iterator boost::container::container_detail::flat_tree::priv_insert_commit(boost::container::container_detail::flat_tree::insert_commit_data&, Convertible&&) [with Convertible = boost::container::container_detail::pair; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::container_detail::flat_tree::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:360:30: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::insert_unique(boost::container::container_detail::flat_tree::value_type&&) [with Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; boost::container::container_detail::flat_tree::value_type = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:525:52: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: error: no matching function for call to ‘dispatch_uses_allocator(boost::container::new_allocator >&, boost::container::pmr::memory_resource*, boost::container::container_detail::pair*&, boost::container::container_detail::pair)’ In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:21:0, from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:117:12: note: candidate: template typename boost::move_detail::enable_if_and, boost::move_detail::not_ > >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) >::type dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:117:12: note: template argument deduction/substitution failed: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp: In substitution of ‘template typename boost::move_detail::enable_if_and, boost::move_detail::not_ > >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) [with ConstructAlloc = boost::container::new_allocator >; ArgAlloc = boost::container::pmr::memory_resource*; T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}]’: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: required from ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; T = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/advanced_insert_int.hpp:187:30: required from ‘void boost::container::container_detail::insert_move_proxy::uninitialized_copy_n_and_update(Allocator&, Iterator, boost::container::container_detail::insert_move_proxy::size_type) const [with Allocator = boost::container::pmr::polymorphic_allocator >; Iterator = boost::container::container_detail::pair*; boost::container::container_detail::insert_move_proxy::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2948:10: required from ‘void boost::container::vector::priv_forward_range_insert_expand_forward(T*, boost::container::vector::size_type, InsertionProxy) [with InsertionProxy = boost::container::container_detail::insert_move_proxy >, boost::container::container_detail::pair*>; T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2810:10: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:1872:4: required from ‘boost::container::vector::iterator boost::container::vector::insert(boost::container::vector::const_iterator, T&&) [with T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; typename boost::container::allocator_traits::pointer = boost::container::container_detail::pair*; boost::container::vector::const_iterator = boost::container::container_detail::vec_iterator*, true>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:843:52: required from ‘boost::container::container_detail::flat_tree::iterator boost::container::container_detail::flat_tree::priv_insert_commit(boost::container::container_detail::flat_tree::insert_commit_data&, Convertible&&) [with Convertible = boost::container::container_detail::pair; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::container_detail::flat_tree::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:360:30: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::insert_unique(boost::container::container_detail::flat_tree::value_type&&) [with Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; boost::container::container_detail::flat_tree::value_type = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:525:52: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:117:12: error: no type named ‘type’ in ‘struct boost::move_detail::enable_if_and >, boost::move_detail::not_, boost::container::pmr::memory_resource*> >, boost::move_detail::bool_, boost::move_detail::bool_ >’ ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp: In instantiation of ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; T = boost::container::container_detail::pair]’: ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/advanced_insert_int.hpp:187:30: required from ‘void boost::container::container_detail::insert_move_proxy::uninitialized_copy_n_and_update(Allocator&, Iterator, boost::container::container_detail::insert_move_proxy::size_type) const [with Allocator = boost::container::pmr::polymorphic_allocator >; Iterator = boost::container::container_detail::pair*; boost::container::container_detail::insert_move_proxy::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2948:10: required from ‘void boost::container::vector::priv_forward_range_insert_expand_forward(T*, boost::container::vector::size_type, InsertionProxy) [with InsertionProxy = boost::container::container_detail::insert_move_proxy >, boost::container::container_detail::pair*>; T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2810:10: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:1872:4: required from ‘boost::container::vector::iterator boost::container::vector::insert(boost::container::vector::const_iterator, T&&) [with T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; typename boost::container::allocator_traits::pointer = boost::container::container_detail::pair*; boost::container::vector::const_iterator = boost::container::container_detail::vec_iterator*, true>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:843:52: required from ‘boost::container::container_detail::flat_tree::iterator boost::container::container_detail::flat_tree::priv_insert_commit(boost::container::container_detail::flat_tree::insert_commit_data&, Convertible&&) [with Convertible = boost::container::container_detail::pair; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::container_detail::flat_tree::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:360:30: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::insert_unique(boost::container::container_detail::flat_tree::value_type&&) [with Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; boost::container::container_detail::flat_tree::value_type = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:525:52: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:135:12: note: candidate: template typename boost::move_detail::enable_if_and, boost::container::uses_allocator, boost::container::container_detail::is_constructible_with_allocator_prefix >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) >::type dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:135:12: note: template argument deduction/substitution failed: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp: In substitution of ‘template typename boost::move_detail::enable_if_and, boost::container::uses_allocator, boost::container::container_detail::is_constructible_with_allocator_prefix >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) [with ConstructAlloc = boost::container::new_allocator >; ArgAlloc = boost::container::pmr::memory_resource*; T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}]’: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: required from ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; T = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/advanced_insert_int.hpp:187:30: required from ‘void boost::container::container_detail::insert_move_proxy::uninitialized_copy_n_and_update(Allocator&, Iterator, boost::container::container_detail::insert_move_proxy::size_type) const [with Allocator = boost::container::pmr::polymorphic_allocator >; Iterator = boost::container::container_detail::pair*; boost::container::container_detail::insert_move_proxy::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2948:10: required from ‘void boost::container::vector::priv_forward_range_insert_expand_forward(T*, boost::container::vector::size_type, InsertionProxy) [with InsertionProxy = boost::container::container_detail::insert_move_proxy >, boost::container::container_detail::pair*>; T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2810:10: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:1872:4: required from ‘boost::container::vector::iterator boost::container::vector::insert(boost::container::vector::const_iterator, T&&) [with T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; typename boost::container::allocator_traits::pointer = boost::container::container_detail::pair*; boost::container::vector::const_iterator = boost::container::container_detail::vec_iterator*, true>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:843:52: required from ‘boost::container::container_detail::flat_tree::iterator boost::container::container_detail::flat_tree::priv_insert_commit(boost::container::container_detail::flat_tree::insert_commit_data&, Convertible&&) [with Convertible = boost::container::container_detail::pair; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::container_detail::flat_tree::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:360:30: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::insert_unique(boost::container::container_detail::flat_tree::value_type&&) [with Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; boost::container::container_detail::flat_tree::value_type = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:525:52: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:135:12: error: no type named ‘type’ in ‘struct boost::move_detail::enable_if_and >, boost::container::uses_allocator, boost::container::pmr::memory_resource*>, boost::container::container_detail::is_constructible_with_allocator_prefix, boost::container::pmr::memory_resource*, boost::container::container_detail::pair >, boost::move_detail::bool_ >’ ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp: In instantiation of ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; T = boost::container::container_detail::pair]’: ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/advanced_insert_int.hpp:187:30: required from ‘void boost::container::container_detail::insert_move_proxy::uninitialized_copy_n_and_update(Allocator&, Iterator, boost::container::container_detail::insert_move_proxy::size_type) const [with Allocator = boost::container::pmr::polymorphic_allocator >; Iterator = boost::container::container_detail::pair*; boost::container::container_detail::insert_move_proxy::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2948:10: required from ‘void boost::container::vector::priv_forward_range_insert_expand_forward(T*, boost::container::vector::size_type, InsertionProxy) [with InsertionProxy = boost::container::container_detail::insert_move_proxy >, boost::container::container_detail::pair*>; T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2810:10: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:1872:4: required from ‘boost::container::vector::iterator boost::container::vector::insert(boost::container::vector::const_iterator, T&&) [with T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; typename boost::container::allocator_traits::pointer = boost::container::container_detail::pair*; boost::container::vector::const_iterator = boost::container::container_detail::vec_iterator*, true>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:843:52: required from ‘boost::container::container_detail::flat_tree::iterator boost::container::container_detail::flat_tree::priv_insert_commit(boost::container::container_detail::flat_tree::insert_commit_data&, Convertible&&) [with Convertible = boost::container::container_detail::pair; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::container_detail::flat_tree::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:360:30: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::insert_unique(boost::container::container_detail::flat_tree::value_type&&) [with Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; boost::container::container_detail::flat_tree::value_type = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:525:52: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:154:12: note: candidate: template typename boost::move_detail::enable_if_and, boost::container::uses_allocator, boost::move_detail::not_ > >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) >::type dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:154:12: note: template argument deduction/substitution failed: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp: In substitution of ‘template typename boost::move_detail::enable_if_and, boost::container::uses_allocator, boost::move_detail::not_ > >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&&, T*, Args&& ...) [with ConstructAlloc = boost::container::new_allocator >; ArgAlloc = boost::container::pmr::memory_resource*; T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}]’: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: required from ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; T = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/advanced_insert_int.hpp:187:30: required from ‘void boost::container::container_detail::insert_move_proxy::uninitialized_copy_n_and_update(Allocator&, Iterator, boost::container::container_detail::insert_move_proxy::size_type) const [with Allocator = boost::container::pmr::polymorphic_allocator >; Iterator = boost::container::container_detail::pair*; boost::container::container_detail::insert_move_proxy::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2948:10: required from ‘void boost::container::vector::priv_forward_range_insert_expand_forward(T*, boost::container::vector::size_type, InsertionProxy) [with InsertionProxy = boost::container::container_detail::insert_move_proxy >, boost::container::container_detail::pair*>; T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2810:10: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:1872:4: required from ‘boost::container::vector::iterator boost::container::vector::insert(boost::container::vector::const_iterator, T&&) [with T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; typename boost::container::allocator_traits::pointer = boost::container::container_detail::pair*; boost::container::vector::const_iterator = boost::container::container_detail::vec_iterator*, true>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:843:52: required from ‘boost::container::container_detail::flat_tree::iterator boost::container::container_detail::flat_tree::priv_insert_commit(boost::container::container_detail::flat_tree::insert_commit_data&, Convertible&&) [with Convertible = boost::container::container_detail::pair; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::container_detail::flat_tree::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:360:30: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::insert_unique(boost::container::container_detail::flat_tree::value_type&&) [with Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; boost::container::container_detail::flat_tree::value_type = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:525:52: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:154:12: error: no type named ‘type’ in ‘struct boost::move_detail::enable_if_and >, boost::container::uses_allocator, boost::container::pmr::memory_resource*>, boost::move_detail::not_, boost::container::pmr::memory_resource*, boost::container::container_detail::pair > >, boost::move_detail::bool_ >’ ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp: In instantiation of ‘void boost::container::pmr::polymorphic_allocator::construct(U*, Args&& ...) [with U = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; T = boost::container::container_detail::pair]’: ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:411:10: required from ‘static void boost::container::allocator_traits::priv_construct(boost::move_detail::true_type, Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >; boost::move_detail::true_type = boost::move_detail::integral_constant]’ ./../../../Boost/boost_1_61_0/boost/container/allocator_traits.hpp:360:42: required from ‘static void boost::container::allocator_traits::construct(Allocator&, T*, Args&& ...) [with T = boost::container::container_detail::pair; Args = {boost::container::container_detail::pair}; Allocator = boost::container::pmr::polymorphic_allocator >]’ ./../../../Boost/boost_1_61_0/boost/container/detail/advanced_insert_int.hpp:187:30: required from ‘void boost::container::container_detail::insert_move_proxy::uninitialized_copy_n_and_update(Allocator&, Iterator, boost::container::container_detail::insert_move_proxy::size_type) const [with Allocator = boost::container::pmr::polymorphic_allocator >; Iterator = boost::container::container_detail::pair*; boost::container::container_detail::insert_move_proxy::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2948:10: required from ‘void boost::container::vector::priv_forward_range_insert_expand_forward(T*, boost::container::vector::size_type, InsertionProxy) [with InsertionProxy = boost::container::container_detail::insert_move_proxy >, boost::container::container_detail::pair*>; T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::size_type = long unsigned int]’ ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:2810:10: [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ] ./../../../Boost/boost_1_61_0/boost/container/vector.hpp:1872:4: required from ‘boost::container::vector::iterator boost::container::vector::insert(boost::container::vector::const_iterator, T&&) [with T = boost::container::container_detail::pair; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; typename boost::container::allocator_traits::pointer = boost::container::container_detail::pair*; boost::container::vector::const_iterator = boost::container::container_detail::vec_iterator*, true>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:843:52: required from ‘boost::container::container_detail::flat_tree::iterator boost::container::container_detail::flat_tree::priv_insert_commit(boost::container::container_detail::flat_tree::insert_commit_data&, Convertible&&) [with Convertible = boost::container::container_detail::pair; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; boost::container::container_detail::flat_tree::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:360:30: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::insert_unique(boost::container::container_detail::flat_tree::value_type&&) [with Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>; boost::container::container_detail::flat_tree::value_type = boost::container::container_detail::pair]’ ./../../../Boost/boost_1_61_0/boost/container/detail/flat_tree.hpp:525:52: required from ‘std::pair::iterator, bool> boost::container::container_detail::flat_tree::emplace_unique(Args&& ...) [with Args = {int, int}; Key = long unsigned int; Value = boost::container::container_detail::pair; KeyOfValue = boost::container::container_detail::select1st >; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::vector::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./../../../Boost/boost_1_61_0/boost/container/flat_map.hpp:670:71: required from ‘std::pair::pointer>::iterator, bool> boost::container::flat_map::emplace(Args&& ...) [with Args = {int, int}; Key = long unsigned int; T = long unsigned int; Compare = std::less; Allocator = boost::container::pmr::polymorphic_allocator >; typename boost::container::container_detail::get_flat_tree_iterators::pointer>::iterator = boost::container::container_detail::vec_iterator*, false>]’ ./main.cpp:13:16: required from here ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:223:4: note: candidate: template typename boost::move_detail::enable_if >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&, Pair*) dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:223:4: note: template argument deduction/substitution failed: In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19:0, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: note: candidate expects 3 arguments, 4 provided container_detail::dispatch_uses_allocator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (na, this->resource(), p, ::boost::forward(args)...); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:21:0, from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:244:4: note: candidate: template typename boost::move_detail::enable_if >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&, Pair*, U&&, V&&) dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:244:4: note: template argument deduction/substitution failed: In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19:0, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: note: candidate expects 5 arguments, 4 provided container_detail::dispatch_uses_allocator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (na, this->resource(), p, ::boost::forward(args)...); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:21:0, from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:264:4: note: candidate: typename boost::move_detail::enable_if >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&, Pair*, Pair2&) [with ConstructAlloc = boost::container::new_allocator >; ArgAlloc = boost::container::pmr::memory_resource*; Pair = boost::container::container_detail::pair; Pair2 = boost::container::container_detail::pair; typename boost::move_detail::enable_if >::type = void] dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:264:4: note: conversion of argument 4 would be ill-formed: In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19:0, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: error: invalid initialization of non-const reference of type ‘boost::container::container_detail::pair&’ from an rvalue of type ‘boost::container::container_detail::pair’ container_detail::dispatch_uses_allocator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (na, this->resource(), p, ::boost::forward(args)...); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:21:0, from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:277:4: note: candidate: typename boost::move_detail::enable_if_and, boost::move_detail::not_ > >::type boost::container::container_detail::dispatch_uses_allocator(ConstructAlloc&, ArgAlloc&, Pair*, Pair2&&) [with ConstructAlloc = boost::container::new_allocator >; ArgAlloc = boost::container::pmr::memory_resource*; Pair = boost::container::container_detail::pair; Pair2 = boost::container::container_detail::pair; typename boost::move_detail::enable_if_and, boost::move_detail::not_ > >::type = void] dispatch_uses_allocator ^~~~~~~~~~~~~~~~~~~~~~~ ./../../../Boost/boost_1_61_0/boost/container/detail/dispatch_uses_allocator.hpp:277:4: note: conversion of argument 2 would be ill-formed: In file included from ./../../../Boost/boost_1_61_0/boost/container/pmr/flat_map.hpp:19:0, from ./main.cpp:1: ./../../../Boost/boost_1_61_0/boost/container/pmr/polymorphic_allocator.hpp:108:10: error: invalid initialization of non-const reference of type ‘boost::container::pmr::memory_resource*&’ from an rvalue of type ‘boost::container::pmr::memory_resource*’ container_detail::dispatch_uses_allocator ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (na, this->resource(), p, ::boost::forward(args)...); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~