// File: /workspace/github_cpp_makefile_star2_O1/IlyaSamoylov45[P]MapReduce-Project/main.cpp
// Function: red_proc()
void *red_proc(){
    managed_shared_memory segment(open_or_create, "shared_memory", SHAREDMEMSIZE);
    typedef std::string KeyType;
    typedef int MappedType;
    typedef std::pair<const std::string, int> ValueType;
    typedef allocator<ValueType, managed_shared_memory::segment_manager> ShmemAllocator;
    typedef map<KeyType, MappedType, std::less<KeyType>, ShmemAllocator> MySHMMap;
    ShmemAllocator alloc_inst (segment.get_segment_manager());
    MySHMMap :: iterator iter;
    offset_ptr<MySHMMap> m_pmap = segment.find<MySHMMap>("MySHMMapName").first;
    for(iter=m_pmap->begin(); iter!=m_pmap->end();iter++)
    {
	//std::cout<< iter->second << std::endl;
	//std::cout<< iter->first << std::endl;
    }
 
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x98, %rsp
leaq -0x38(%rbp), %r15
movl $0x1a4, (%r15)          # imm = 0x1A4
leaq 0xf977(%rip), %rsi      # 0x16190
leaq -0xb0(%rbp), %r14
movl $0xa0000, %edx          # imm = 0xA0000
movq %r14, %rdi
xorl %ecx, %ecx
movq %r15, %r8
callq 0x73e4
movq (%r14), %rax
leaq -0x88(%rbp), %rcx
movq %rax, %rdx
subq %rcx, %rdx
testq %rax, %rax
movl $0x1, %ebx
cmoveq %rbx, %rdx
movq %rdx, (%rcx)
movq $0x1, -0x30(%rbp)
leaq 0xf96b(%rip), %rsi      # 0x161cb
movq %r14, %rdi
callq 0x743e
leaq -0x40(%rbp), %rsi
movq %rax, %rdx
subq %rsi, %rdx
testq %rax, %rax
cmoveq %rbx, %rdx
movq %rdx, (%rsi)
addq %rdx, %rsi
xorl %ecx, %ecx
cmpq $0x1, %rdx
cmoveq %rcx, %rsi
leaq -0x48(%rbp), %rdx
movq %rdx, %rax
negq %rax
addq %rsi, %rax
addq $0x10, %rax
movq %rax, (%rdx)
leaq -0x50(%rbp), %rdx
movq %rdx, %rax
negq %rax
leaq (%rsi,%rax), %rdi
addq $0x10, %rdi
movq %rdi, (%rdx)
movq 0x18(%rsi), %rdi
addq $0x18, %rsi
subq %r15, %rsi
cmpq $0x1, %rdi
cmoveq %rcx, %rsi
addq %rdi, %rsi
leaq -0x80(%rbp), %rdi
movq %r15, %r8
subq %rdi, %r8
cmpq $0x1, %rsi
cmoveq %rcx, %r8
addq %rsi, %r8
movq %rdi, %rsi
subq %r15, %rsi
cmpq $0x1, %r8
cmoveq %rcx, %rsi
addq %r8, %rsi
movq %r15, %r8
subq %rdx, %r8
cmpq $0x1, %rsi
cmoveq %rcx, %r8
addq %rsi, %r8
leaq -0x30(%rbp), %rsi
subq %rsi, %rdx
cmpq $0x1, %r8
cmoveq %rcx, %rdx
addq %r8, %rdx
movq %rdx, (%rsi)
leaq (%rax,%rbp), %rcx
addq $-0x48, %rcx
movq %r15, %rdx
negq %rdx
leaq (%rdx,%rbp), %r13
addq $-0x50, %r13
addq %rcx, %r13
negq %rdi
leaq (%rdi,%rbp), %rcx
addq $-0x38, %rcx
addq %rcx, %r13
leaq (%rdx,%rbp), %rcx
addq $-0x80, %rcx
movq %rcx, -0x70(%rbp)
leaq -0x78(%rbp), %rcx
negq %rcx
addq %rbp, %rcx
addq $-0x38, %rcx
movq %rcx, -0x68(%rbp)
leaq -0x30(%rbp,%rdx), %rcx
movq %rcx, -0x60(%rbp)
leaq -0x38(%rbp,%rax), %rax
movq %rax, -0x58(%rbp)
movq %r15, %r14
movq %r15, %rbx
movq %rsi, %r12
subq %rsi, %rbx
movl $0x10, %r15d
movq -0x40(%rbp), %rcx
leaq -0x30(%rbp), %rax
addq %rcx, %rax
cmpq $0x1, %rcx
cmoveq %r15, %rax
leaq -0x48(%rbp), %rcx
subq %rcx, %rax
addq %r13, %rax
movl $0x0, %ecx
cmpq $0x1, %rax
je 0x69a9
movq -0x70(%rbp), %rcx
addq %rax, %rcx
movl $0x0, %eax
cmpq $0x1, %rcx
je 0x69bb
movq -0x68(%rbp), %rax
addq %rcx, %rax
movq %rax, -0x78(%rbp)
movq -0x30(%rbp), %rcx
movl $0x0, %eax
cmpq $0x1, %rcx
je 0x69d5
movq -0x60(%rbp), %rax
addq %rcx, %rax
movl $0x0, %ecx
cmpq $0x1, %rax
je 0x69e7
movq -0x58(%rbp), %rcx
addq %rax, %rcx
movq %rcx, -0x50(%rbp)
movq %r14, %rdi
movq %r12, %rsi
callq 0xfb3c
movq -0x38(%rbp), %rax
movl $0x0, %ecx
cmpq $0x1, %rax
je 0x6a0b
movq %rbx, %rcx
addq %rax, %rcx
movq %rcx, -0x30(%rbp)
jmp 0x697d
movq %rax, %rbx
leaq -0xa8(%rbp), %rdi
callq 0xc2fc
movq %rbx, %rdi
callq 0x3560