// File: /workspace/github_cpp_makefile_star2_O1/attractivechaos[P]udb2/tsl_hopscotch_map/./hopscotch_hash.h
// Function: tsl::detail_hopscotch_hash::hopscotch_hash<std::pair<unsigned int const, unsigned int>, tsl::bhopscotch_map<unsigned int, unsigned int, Hash32, std::equal_to<unsigned int>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int>>, 62u, false, tsl::hh::power_of_two_growth_policy<2ul>>::KeySelect, tsl::bhopscotch_map<unsigned int, unsigned int, Hash32, std::equal_to<unsigned int>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int>>, 62u, false, tsl::hh::power_of_two_growth_policy<2ul>>::ValueSelect, Hash32, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int>>, 62u, false, tsl::hh::power_of_two_growth_policy<2ul>, std::map<unsigned int, unsigned int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int>>>>::swap(tsl::detail_hopscotch_hash::hopscotch_hash<std::pair<unsigned int const, unsigned int>, tsl::bhopscotch_map<unsigned int, unsigned int, Hash32, std::equal_to<unsigned int>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int>>, 62u, false, tsl::hh::power_of_two_growth_policy<2ul>>::KeySelect, tsl::bhopscotch_map<unsigned int, unsigned int, Hash32, std::equal_to<unsigned int>, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int>>, 62u, false, tsl::hh::power_of_two_growth_policy<2ul>>::ValueSelect, Hash32, std::equal_to<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int>>, 62u, false, tsl::hh::power_of_two_growth_policy<2ul>, std::map<unsigned int, unsigned int, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, unsigned int>>>>&)
void swap(hopscotch_hash& other) {
        using std::swap;
        
        swap(static_cast<Hash&>(*this), static_cast<Hash&>(other));
        swap(static_cast<KeyEqual&>(*this), static_cast<KeyEqual&>(other));
        swap(static_cast<GrowthPolicy&>(*this), static_cast<GrowthPolicy&>(other));
        swap(m_buckets_data, other.m_buckets_data);
        swap(m_overflow_elements, other.m_overflow_elements);
        swap(m_buckets, other.m_buckets);
        swap(m_nb_elements, other.m_nb_elements);
        swap(m_max_load_factor, other.m_max_load_factor);
        swap(m_max_load_threshold_rehash, other.m_max_load_threshold_rehash);
        swap(m_min_load_threshold_rehash, other.m_min_load_threshold_rehash);
    }

// Assembly:
pushq %r14
pushq %rbx
pushq %rax
movq %rsi, %rbx
movq %rdi, %r14
movq (%rdi), %rax
movq (%rsi), %rcx
movq %rcx, (%rdi)
movq %rax, (%rsi)
movq 0x18(%rdi), %rax
movups 0x8(%rsi), %xmm0
movups 0x8(%rdi), %xmm1
movups %xmm0, 0x8(%rdi)
movq 0x18(%rsi), %rcx
movq %rcx, 0x18(%rdi)
movups %xmm1, 0x8(%rsi)
movq %rax, 0x18(%rsi)
addq $0x20, %rdi
addq $0x20, %rsi
callq 0x2446
movq 0x50(%r14), %rax
movq 0x50(%rbx), %rcx
movq %rcx, 0x50(%r14)
movq %rax, 0x50(%rbx)
movq 0x58(%r14), %rax
movq 0x58(%rbx), %rcx
movq %rcx, 0x58(%r14)
movq %rax, 0x58(%rbx)
movss 0x60(%r14), %xmm0
movss 0x60(%rbx), %xmm1
movss %xmm1, 0x60(%r14)
movss %xmm0, 0x60(%rbx)
movq 0x68(%r14), %rax
movq 0x68(%rbx), %rcx
movq %rcx, 0x68(%r14)
movq %rax, 0x68(%rbx)
movq 0x70(%r14), %rax
movq 0x70(%rbx), %rcx
movq %rcx, 0x70(%r14)
movq %rax, 0x70(%rbx)
addq $0x8, %rsp
popq %rbx
popq %r14
retq
nop