// File: /workspace/github_cpp_makefile_star2_O2/xelia-it[P]mustache/third-party/catch2/single_include/catch2/catch.hpp
// Function: Catch::clara::detail::Arg::parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, Catch::clara::detail::TokenStream const&) const
auto parse( std::string const &, TokenStream const &tokens ) const -> InternalParseResult override {
            auto validationResult = validate();
            if( !validationResult )
                return InternalParseResult( validationResult );

            auto remainingTokens = tokens;
            auto const &token = *remainingTokens;
            if( token.type != TokenType::Argument )
                return InternalParseResult::ok( ParseState( ParseResultType::NoMatch, remainingTokens ) );

            assert( !m_ref->isFlag() );
            auto valueRef = static_cast<detail::BoundValueRefBase*>( m_ref.get() );

            auto result = valueRef->setValue( remainingTokens->token );
            if( !result )
                return InternalParseResult( result );
            else
                return InternalParseResult::ok( ParseState( ParseResultType::Matched, ++remainingTokens ) );
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0xe0, %rsp
movq %rcx, %r15
movq %rsi, %r14
movq %rdi, %rbx
movq (%rsi), %rax
leaq -0x100(%rbp), %r12
movq %r12, %rdi
callq *0x10(%rax)
cmpl $0x0, 0x8(%r12)
je 0x43853
leaq -0x100(%rbp), %rsi
movq %rbx, %rdi
callq 0x42d16
jmp 0x4393c
leaq -0x78(%rbp), %rdi
movq %r15, %rsi
callq 0x41f20
leaq -0xa0(%rbp), %rdi
leaq -0x78(%rbp), %rsi
callq 0x42dac
cmpl $0x1, -0xa0(%rbp)
jne 0x438bc
movq 0x10(%r14), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
testb %al, %al
jne 0x4395b
movq 0x10(%r14), %r14
leaq -0x78(%rbp), %rdi
callq 0x42d7e
leaq 0x8(%rax), %rdx
movq (%r14), %rax
leaq -0x50(%rbp), %rdi
movq %r14, %rsi
callq *0x20(%rax)
cmpl $0x0, -0x48(%rbp)
je 0x438e7
leaq -0x50(%rbp), %rsi
movq %rbx, %rdi
callq 0x42e82
jmp 0x4391e
leaq -0x48(%rbp), %rdi
movl $0x1, -0x8(%rdi)
leaq -0x78(%rbp), %rsi
callq 0x41f20
leaq -0x50(%rbp), %rsi
movq %rbx, %rdi
callq 0x41df4
leaq -0x38(%rbp), %rdi
callq 0x420d0
jmp 0x43927
leaq -0x78(%rbp), %rdi
callq 0x42eea
leaq -0xc8(%rbp), %rdi
andl $0x0, -0x8(%rdi)
movq %rax, %rsi
callq 0x41f20
leaq -0xd0(%rbp), %rsi
movq %rbx, %rdi
callq 0x41df4
leaq -0xb8(%rbp), %rdi
callq 0x420d0
leaq -0x50(%rbp), %rdi
callq 0x422de
leaq -0x98(%rbp), %rdi
callq 0x24ad8
leaq -0x68(%rbp), %rdi
callq 0x420d0
leaq -0x100(%rbp), %rdi
callq 0x41d62
movq %rbx, %rax
addq $0xe0, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x31b4c(%rip), %rdi     # 0x754ae
leaq 0x30544(%rip), %rsi     # 0x73ead
leaq 0x31b4f(%rip), %rcx     # 0x754bf
movl $0x248a, %edx           # imm = 0x248A
callq 0x24390
movq %rax, %rbx
leaq -0xb8(%rbp), %rdi
callq 0x420d0
jmp 0x43990
jmp 0x4398d
movq %rax, %rbx
leaq -0x50(%rbp), %rdi
callq 0x422de
jmp 0x439b0
jmp 0x439ad
movq %rax, %rbx
leaq -0x38(%rbp), %rdi
callq 0x420d0
jmp 0x439b0
jmp 0x439ad
movq %rax, %rbx
leaq -0x98(%rbp), %rdi
callq 0x24ad8
jmp 0x439c1
movq %rax, %rbx
leaq -0x68(%rbp), %rdi
callq 0x420d0
jmp 0x439d1
jmp 0x439ce
movq %rax, %rbx
leaq -0x100(%rbp), %rdi
callq 0x41d62
movq %rbx, %rdi
callq 0x24950
nop