In file included from /usr/include/i386-linux-gnu/c++/5/bits/c++allocator.h:33:0,
from /usr/include/c++/5/bits/allocator.h:46,
from /usr/include/c++/5/memory:63,
from prog.cpp:1:
/usr/include/c++/5/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::pair<const std::unique_ptr<char>, std::unique_ptr<int> >; _Args = {std::pair<const std::unique_ptr<char, std::default_delete<char> >, std::unique_ptr<int, std::default_delete<int> > >}; _Tp = std::_Rb_tree_node<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >]':
/usr/include/c++/5/bits/alloc_traits.h:256:4: required from 'static std::_Require<typename std::allocator_traits<_Alloc>::__construct_helper<_Tp, _Args>::type> std::allocator_traits<_Alloc>::_S_construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = std::pair<const std::unique_ptr<char>, std::unique_ptr<int> >; _Args = {std::pair<const std::unique_ptr<char, std::default_delete<char> >, std::unique_ptr<int, std::default_delete<int> > >}; _Alloc = std::allocator<std::_Rb_tree_node<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > > >; std::_Require<typename std::allocator_traits<_Alloc>::__construct_helper<_Tp, _Args>::type> = void]'
/usr/include/c++/5/bits/alloc_traits.h:402:16: required from 'static decltype (_S_construct(__a, __p, (forward<_Args>)(std::allocator_traits::construct::__args)...)) std::allocator_traits<_Alloc>::construct(_Alloc&, _Tp*, _Args&& ...) [with _Tp = std::pair<const std::unique_ptr<char>, std::unique_ptr<int> >; _Args = {std::pair<const std::unique_ptr<char, std::default_delete<char> >, std::unique_ptr<int, std::default_delete<int> > >}; _Alloc = std::allocator<std::_Rb_tree_node<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > > >; decltype (_S_construct(__a, __p, (forward<_Args>)(std::allocator_traits::construct::__args)...)) = <type error>]'
/usr/include/c++/5/bits/stl_tree.h:529:32: required from 'void std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_M_construct_node(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type, _Args&& ...) [with _Args = {std::pair<const std::unique_ptr<char, std::default_delete<char> >, std::unique_ptr<int, std::default_delete<int> > >}; _Key = std::unique_ptr<char>; _Val = std::pair<const std::unique_ptr<char>, std::unique_ptr<int> >; _KeyOfValue = std::_Select1st<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >; _Compare = std::less<std::unique_ptr<char> >; _Alloc = std::allocator<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >*]'
/usr/include/c++/5/bits/stl_tree.h:398:3: required from 'std::_Rb_tree_node<_Val>* std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Reuse_or_alloc_node::operator()(_Arg&&) [with _Arg = std::pair<const std::unique_ptr<char>, std::unique_ptr<int> >; _Key = std::unique_ptr<char>; _Val = std::pair<const std::unique_ptr<char>, std::unique_ptr<int> >; _KeyOfValue = std::_Select1st<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >; _Compare = std::less<std::unique_ptr<char> >; _Alloc = std::allocator<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::_Link_type = std::_Rb_tree_node<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >*]'
/usr/include/c++/5/bits/stl_tree.h:1410:21: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::operator=(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&&)::<lambda(const value_type&)> [with _Key = std::unique_ptr<char>; _Val = std::pair<const std::unique_ptr<char>, std::unique_ptr<int> >; _KeyOfValue = std::_Select1st<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >; _Compare = std::less<std::unique_ptr<char> >; _Alloc = std::allocator<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::value_type = std::pair<const std::unique_ptr<char>, std::unique_ptr<int> >]'
/usr/include/c++/5/bits/stl_tree.h:1407:8: required from 'struct std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::operator=(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&&) [with _Key = std::unique_ptr<char>; _Val = std::pair<const std::unique_ptr<char>, std::unique_ptr<int> >; _KeyOfValue = std::_Select1st<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >; _Compare = std::less<std::unique_ptr<char> >; _Alloc = std::allocator<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >]::<lambda(const value_type&)>'
/usr/include/c++/5/bits/stl_tree.h:1411:6: required from 'std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::operator=(std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&&) [with _Key = std::unique_ptr<char>; _Val = std::pair<const std::unique_ptr<char>, std::unique_ptr<int> >; _KeyOfValue = std::_Select1st<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >; _Compare = std::less<std::unique_ptr<char> >; _Alloc = std::allocator<std::pair<const std::unique_ptr<char>, std::unique_ptr<int> > >]'
/usr/include/c++/5/bits/stl_map.h:96:11: required from here
/usr/include/c++/5/ext/new_allocator.h:120:4: error: use of deleted function 'constexpr std::pair<_T1, _T2>::pair(std::pair<_T1, _T2>&&) [with _T1 = const std::unique_ptr<char>; _T2 = std::unique_ptr<int>]'
{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
^
In file included from /usr/include/c++/5/bits/stl_algobase.h:64:0,
from /usr/include/c++/5/memory:62,
from prog.cpp:1:
/usr/include/c++/5/bits/stl_pair.h:128:17: note: 'constexpr std::pair<_T1, _T2>::pair(std::pair<_T1, _T2>&&) [with _T1 = const std::unique_ptr<char>; _T2 = std::unique_ptr<int>]' is implicitly deleted because the default definition would be ill-formed:
constexpr pair(pair&&) = default;
^
/usr/include/c++/5/bits/stl_pair.h:128:17: error: use of deleted function 'std::unique_ptr<_Tp, _Dp>::unique_ptr(const std::unique_ptr<_Tp, _Dp>&) [with _Tp = char; _Dp = std::default_delete<char>]'
In file included from /usr/include/c++/5/memory:81:0,
from prog.cpp:1:
/usr/include/c++/5/bits/unique_ptr.h:356:7: note: declared here
unique_ptr(const unique_ptr&) = delete;
^