// File: /workspace/github_cpp_makefile_star2_O3/Barath-Kannan[P]SignalsAndSlots/3rdparty/googletest/inc/gtest/internal/gtest-param-util-generated.h
// Function: testing::internal::CartesianProductGenerator6<unsigned int, unsigned int, unsigned int, unsigned int, bool, BSignals::ExecutorScheme>::Iterator::Equals(testing::internal::ParamIteratorInterface<std::tuple<unsigned int, unsigned int, unsigned int, unsigned int, bool, BSignals::ExecutorScheme>> const&) const
virtual bool Equals(const ParamIteratorInterface<ParamType>& other) const {
      // Having the same base generator guarantees that the other
      // iterator is of the same type and we can downcast.
      GTEST_CHECK_(BaseGenerator() == other.BaseGenerator())
          << "The program attempted to compare iterators "
          << "from different generators." << std::endl;
      const Iterator* typed_other =
          CheckedDowncastToActualType<const Iterator>(&other);
      // We must report iterators equal if they both point beyond their
      // respective ranges. That can happen in a variety of fashions,
      // so we have to consult AtEnd().
      return (AtEnd() && typed_other->AtEnd()) ||
         (
          current1_ == typed_other->current1_ &&
          current2_ == typed_other->current2_ &&
          current3_ == typed_other->current3_ &&
          current4_ == typed_other->current4_ &&
          current5_ == typed_other->current5_ &&
          current6_ == typed_other->current6_);
    }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x10, %rsp
movq %rsi, %r14
movq %rdi, %rbx
movq (%rdi), %rax
callq *0x10(%rax)
movq %rax, %r15
movq (%r14), %rax
movq %r14, %rdi
callq *0x10(%rax)
xorl %edi, %edi
cmpq %rax, %r15
sete %dil
callq 0x2703b
testb %al, %al
jne 0x265b8
leaq 0x252df(%rip), %rdx     # 0x4b803
leaq 0xc(%rsp), %rdi
movl $0x3, %esi
movl $0xee6, %ecx            # imm = 0xEE6
callq 0x45a8a
movq 0x44aa9(%rip), %rdi     # 0x6afe8
leaq 0x24fd7(%rip), %rsi     # 0x4b51d
movl $0x3b, %edx
callq 0xb600
movq 0x44a91(%rip), %rdi     # 0x6afe8
leaq 0x24ffb(%rip), %rsi     # 0x4b559
movl $0x2b, %edx
callq 0xb600
movq 0x44a79(%rip), %r15     # 0x6afe8
leaq 0x2500f(%rip), %rsi     # 0x4b585
movl $0x1a, %edx
movq %r15, %rdi
callq 0xb600
movq (%r15), %rax
addq -0x18(%rax), %r15
movq %r15, %rdi
movl $0xa, %esi
callq 0xb4c0
movsbl %al, %esi
movq 0x44a47(%rip), %rdi     # 0x6afe8
callq 0xb050
movq %rax, %rdi
callq 0xb390
leaq 0xc(%rsp), %rdi
callq 0x45bcc
movq %r14, %rdi
callq 0x26a5f
movq %rax, %r14
movq %rbx, %rdi
callq 0x2669c
testb %al, %al
je 0x265e3
movq %r14, %rdi
callq 0x2669c
movl %eax, %ecx
movb $0x1, %al
testb %cl, %cl
jne 0x26679
movq 0x20(%rbx), %rdi
movq 0x20(%r14), %rsi
cmpq %rsi, %rdi
je 0x265fa
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x26677
movq 0x38(%rbx), %rdi
movq 0x38(%r14), %rsi
cmpq %rsi, %rdi
je 0x26611
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x26677
movq 0x50(%rbx), %rdi
movq 0x50(%r14), %rsi
cmpq %rsi, %rdi
je 0x26628
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x26677
movq 0x68(%rbx), %rdi
movq 0x68(%r14), %rsi
cmpq %rsi, %rdi
je 0x2663f
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x26677
movq 0x80(%rbx), %rdi
movq 0x80(%r14), %rsi
cmpq %rsi, %rdi
je 0x2665c
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x26677
movq 0x98(%rbx), %rdi
movq 0x98(%r14), %rsi
cmpq %rsi, %rdi
je 0x26683
movq (%rdi), %rax
callq *0x30(%rax)
jmp 0x26679
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
movb $0x1, %al
jmp 0x26679
movq %rax, %rbx
leaq 0xc(%rsp), %rdi
callq 0x45bcc
movq %rbx, %rdi
callq 0xba10