// File: dadocolussi[P]gdc-circular_queue/tests/catch.hpp
// Function: Catch::WildcardPattern::matches(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&) const
virtual bool matches( std::string const& str ) const {
            switch( m_wildcard ) {
                case NoWildcard:
                    return m_pattern == adjustCase( str );
                case WildcardAtStart:
                    return endsWith( adjustCase( str ), m_pattern );
                case WildcardAtEnd:
                    return startsWith( adjustCase( str ), m_pattern );
                case WildcardAtBothEnds:
                    return contains( adjustCase( str ), m_pattern );
            }

#ifdef __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wunreachable-code"
#endif
            throw std::logic_error( "Unknown enum" );
#ifdef __clang__
#pragma clang diagnostic pop
#endif
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xf0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
movl 0xc(%rax), %eax
movq %rax, -0xb0(%rbp)
subq $0x3, %rax
ja 0x1db22
movq -0xb0(%rbp), %rax
leaq 0x5f660(%rip), %rcx     # 0x7d010
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0xb8(%rbp), %rsi
movq %rsi, %rax
addq $0x10, %rax
movq %rax, -0xc0(%rbp)
movq -0x18(%rbp), %rdx
leaq -0x38(%rbp), %rdi
callq 0x2b7c0
movq -0xc0(%rbp), %rdi
leaq -0x38(%rbp), %rsi
callq 0x1b4c0
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x38(%rbp), %rdi
callq 0xecd8
jmp 0x1db7b
movq -0xb8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x58(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x2b7c0
movq -0xb8(%rbp), %rsi
movq -0xd0(%rbp), %rdi
addq $0x10, %rsi
callq 0x13820
movb %al, -0xc1(%rbp)
jmp 0x1da38
movb -0xc1(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x58(%rbp), %rdi
callq 0xecd8
jmp 0x1db7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x58(%rbp), %rdi
callq 0xecd8
jmp 0x1db89
movq -0xb8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0x88(%rbp), %rdi
movq %rdi, -0xe0(%rbp)
callq 0x2b7c0
movq -0xb8(%rbp), %rsi
movq -0xe0(%rbp), %rdi
addq $0x10, %rsi
callq 0x12400
movb %al, -0xd1(%rbp)
jmp 0x1daa8
movb -0xd1(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0x88(%rbp), %rdi
callq 0xecd8
jmp 0x1db7b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x88(%rbp), %rdi
callq 0xecd8
jmp 0x1db89
movq -0xb8(%rbp), %rsi
movq -0x18(%rbp), %rdx
leaq -0xa8(%rbp), %rdi
callq 0x2b7c0
movq -0xb8(%rbp), %rsi
addq $0x10, %rsi
leaq -0xa8(%rbp), %rdi
callq 0x138e0
andb $0x1, %al
movb %al, -0x1(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0xecd8
jmp 0x1db7b
movl $0x10, %edi
callq 0xe310
movq %rax, %rdi
movq %rdi, %rax
movq %rax, -0xe8(%rbp)
leaq 0x60ae2(%rip), %rsi     # 0x7e622
callq 0xe920
jmp 0x1db47
movq -0xe8(%rbp), %rdi
movq 0x97473(%rip), %rsi     # 0xb4fc8
movq 0x97434(%rip), %rdx     # 0xb4f90
callq 0xeb10
movq -0xe8(%rbp), %rdi
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
callq 0xe4c0
jmp 0x1db89
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xf0, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0xeb60
nopw %cs:(%rax,%rax)
nopl (%rax)