// File: dadocolussi[P]gdc-circular_queue/tests/catch.hpp
// Function: Catch::listReporters(Catch::Config const&)
inline std::size_t listReporters( Config const& /*config*/ ) {
        Catch::cout() << "Available reporters:\n";
        IReporterRegistry::FactoryMap const& factories = getRegistryHub().getReporterRegistry().getFactories();
        IReporterRegistry::FactoryMap::const_iterator itBegin = factories.begin(), itEnd = factories.end(), it;
        std::size_t maxNameLen = 0;
        for(it = itBegin; it != itEnd; ++it )
            maxNameLen = (std::max)( maxNameLen, it->first.size() );

        for(it = itBegin; it != itEnd; ++it ) {
            Text wrapper( it->second->getDescription(), TextAttributes()
                                                        .setInitialIndent( 0 )
                                                        .setIndent( 7+maxNameLen )
                                                        .setWidth( CATCH_CONFIG_CONSOLE_WIDTH - maxNameLen-8 ) );
            Catch::cout() << "  "
                    << it->first
                    << ":"
                    << std::string( maxNameLen - it->first.size() + 2, ' ' )
                    << wrapper << "\n";
        }
        Catch::cout() << std::endl;
        return factories.size();
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x150, %rsp            # imm = 0x150
movq %rdi, -0x8(%rbp)
callq 0x11b50
movq %rax, %rdi
leaq 0x37d68(%rip), %rsi     # 0x7e5c6
callq 0xe670
callq 0xf820
movq %rax, %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq %rax, %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movq %rax, -0x10(%rbp)
movq -0x10(%rbp), %rdi
callq 0x480c0
movq %rax, -0x18(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2e4e0
movq %rax, -0x20(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x480f0
movq $0x0, -0x30(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x48110
testb $0x1, %al
jne 0x468c4
jmp 0x468f8
leaq -0x28(%rbp), %rdi
callq 0x2e510
movq %rax, %rdi
callq 0xe480
movq %rax, -0x38(%rbp)
leaq -0x30(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x25220
movq (%rax), %rax
movq %rax, -0x30(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x48140
jmp 0x468b1
movq -0x18(%rbp), %rax
movq %rax, -0x28(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x20(%rbp), %rsi
callq 0x48110
testb $0x1, %al
jne 0x46916
jmp 0x46b68
leaq -0x28(%rbp), %rdi
callq 0x2e510
movq %rax, %rdi
addq $0x20, %rdi
callq 0x19130
movq %rax, %rsi
movq (%rsi), %rax
movq 0x28(%rax), %rax
leaq -0xb0(%rbp), %rdi
callq *%rax
leaq -0xd0(%rbp), %rdi
callq 0x3fcc0
jmp 0x4694c
xorl %eax, %eax
movl %eax, %esi
leaq -0xd0(%rbp), %rdi
callq 0x46ba0
movq %rax, %rdi
movq -0x30(%rbp), %rsi
addq $0x7, %rsi
callq 0x3fcf0
movq %rax, %rdi
movq -0x30(%rbp), %rax
movl $0x48, %esi
subq %rax, %rsi
callq 0x47110
movq %rax, %rdx
leaq -0x90(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x3fd10
jmp 0x46998
leaq -0xb0(%rbp), %rdi
callq 0xecd8
callq 0x11b50
movq %rax, %rdi
leaq 0x37b11(%rip), %rsi     # 0x7e4c4
callq 0xe670
movq %rax, -0x110(%rbp)
jmp 0x469c1
leaq -0x28(%rbp), %rdi
callq 0x2e510
movq -0x110(%rbp), %rdi
movq %rax, %rsi
callq 0xe5a0
movq %rax, -0x118(%rbp)
jmp 0x469e2
movq -0x118(%rbp), %rdi
leaq 0x372b0(%rip), %rsi     # 0x7dca0
callq 0xe670
movq %rax, -0x120(%rbp)
jmp 0x469fe
movq -0x30(%rbp), %rax
movq %rax, -0x138(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x2e510
movq %rax, %rdi
callq 0xe480
movq %rax, %rcx
movq -0x138(%rbp), %rax
subq %rcx, %rax
addq $0x2, %rax
movq %rax, -0x130(%rbp)
leaq -0x101(%rbp), %rdi
movq %rdi, -0x128(%rbp)
callq 0xeb70
movq -0x130(%rbp), %rsi
movq -0x128(%rbp), %rcx
leaq -0x100(%rbp), %rdi
movl $0x20, %edx
callq 0x437d0
jmp 0x46a66
movq -0x120(%rbp), %rdi
leaq -0x100(%rbp), %rsi
callq 0xe5a0
movq %rax, -0x140(%rbp)
jmp 0x46a82
movq -0x140(%rbp), %rdi
leaq -0x90(%rbp), %rsi
callq 0x3fc20
movq %rax, -0x148(%rbp)
jmp 0x46a9e
movq -0x148(%rbp), %rdi
leaq 0x37f7d(%rip), %rsi     # 0x7ea29
callq 0xe670
jmp 0x46ab3
leaq -0x100(%rbp), %rdi
callq 0xecd8
leaq -0x101(%rbp), %rdi
callq 0xe710
leaq -0x90(%rbp), %rdi
callq 0x40350
leaq -0x28(%rbp), %rdi
callq 0x48140
jmp 0x46900
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0xecd8
jmp 0x46b8e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0x46b5a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
jmp 0x46b4e
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0xd8(%rbp)
movl %eax, -0xdc(%rbp)
leaq -0x100(%rbp), %rdi
callq 0xecd8
leaq -0x101(%rbp), %rdi
callq 0xe710
leaq -0x90(%rbp), %rdi
callq 0x40350
jmp 0x46b8e
callq 0x11b50
movq %rax, %rdi
movq 0x6e3c1(%rip), %rsi     # 0xb4f38
callq 0xe6f0
movq -0x10(%rbp), %rdi
callq 0x48170
addq $0x150, %rsp            # imm = 0x150
popq %rbp
retq
movq -0xd8(%rbp), %rdi
callq 0xeb60
nopw (%rax,%rax)