// File: benjibc[P]json-universal-container/./boost_file/boost/unordered/detail/unique.hpp
// Function: boost::unordered::detail::table_impl<boost::unordered::detail::map<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, JSON>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, JSON, boost::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>::copy_buckets_to(boost::unordered::detail::buckets<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, JSON>>, boost::unordered::detail::ptr_bucket, boost::unordered::detail::ptr_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, JSON>>, boost::unordered::detail::mix64_policy<unsigned long>> const&, boost::unordered::detail::buckets<std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, JSON>>, boost::unordered::detail::ptr_bucket, boost::unordered::detail::ptr_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, JSON>>, boost::unordered::detail::mix64_policy<unsigned long>>&)
static void copy_buckets_to(buckets const& src, buckets& dst)
        {
            BOOST_ASSERT(!dst.buckets_);

            dst.create_buckets();

            node_constructor a(dst.node_alloc());

            iterator n = src.get_start();
            previous_pointer prev = dst.get_previous_start();

            while(n.node_) {
                a.construct_node();
                a.construct_value2(*n);

                node_pointer node = a.release();
                node->hash_ = n.node_->hash_;
                prev->next_ = static_cast<link_pointer>(node);
                ++dst.size_;
                ++n;

                prev = place_in_bucket(dst, prev);
            }
        }

// Assembly:
subq $0x78, %rsp
movq %rdi, 0x70(%rsp)
movq %rsi, 0x68(%rsp)
movq 0x68(%rsp), %rax
cmpq $0x0, (%rax)
setne %al
xorb $-0x1, %al
testb $0x1, %al
jne 0x10cb2
jmp 0x10cb4
jmp 0x10cd3
leaq 0x27e7(%rip), %rdi      # 0x134a2
leaq 0x1cd5(%rip), %rsi      # 0x12997
movl $0x29e, %edx            # imm = 0x29E
leaq 0x27e2(%rip), %rcx      # 0x134b0
callq 0x3160
movq 0x68(%rsp), %rdi
callq 0xc890
movq 0x68(%rsp), %rdi
callq 0xb3e0
movq %rax, %rsi
leaq 0x50(%rsp), %rdi
callq 0xb400
movq 0x70(%rsp), %rdi
callq 0xf8e0
movq %rax, 0x20(%rsp)
jmp 0x10d05
movq 0x20(%rsp), %rax
movq %rax, 0x48(%rsp)
movq 0x68(%rsp), %rdi
callq 0xd0e0
movq %rax, 0x18(%rsp)
jmp 0x10d20
movq 0x18(%rsp), %rax
movq %rax, 0x30(%rsp)
cmpq $0x0, 0x48(%rsp)
je 0x10e03
leaq 0x50(%rsp), %rdi
callq 0xb430
jmp 0x10d42
leaq 0x48(%rsp), %rdi
callq 0xb3c0
movq %rax, 0x10(%rsp)
jmp 0x10d53
movq 0x10(%rsp), %rsi
leaq 0x50(%rsp), %rdi
callq 0x10ef0
jmp 0x10d64
leaq 0x50(%rsp), %rdi
callq 0xd900
movq %rax, 0x28(%rsp)
movq 0x48(%rsp), %rax
movq 0x58(%rax), %rcx
movq 0x28(%rsp), %rax
movq %rcx, 0x58(%rax)
movq 0x28(%rsp), %rcx
movq %rcx, (%rsp)
xorl %eax, %eax
cmpq $0x0, %rcx
movq %rax, 0x8(%rsp)
je 0x10da8
movq (%rsp), %rax
addq $0x50, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rcx
movq 0x30(%rsp), %rax
movq %rcx, (%rax)
movq 0x68(%rsp), %rax
movq 0x10(%rax), %rcx
addq $0x1, %rcx
movq %rcx, 0x10(%rax)
leaq 0x48(%rsp), %rdi
callq 0xbf70
movq 0x68(%rsp), %rdi
movq 0x30(%rsp), %rsi
callq 0xd100
movq %rax, 0x30(%rsp)
jmp 0x10d2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x40(%rsp)
movl %eax, 0x3c(%rsp)
leaq 0x50(%rsp), %rdi
callq 0xb920
jmp 0x10e12
leaq 0x50(%rsp), %rdi
callq 0xb920
addq $0x78, %rsp
retq
movq 0x40(%rsp), %rdi
callq 0x33e0
nopl (%rax)