// File: /workspace/github_cpp_makefile_star2_O1/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 0x2764e
testb %al, %al
jne 0x26bc4
leaq 0x24ca3(%rip), %rdx     # 0x4b7d3
leaq 0xc(%rsp), %rdi
movl $0x3, %esi
movl $0xee6, %ecx            # imm = 0xEE6
callq 0x46398
movq 0x4449d(%rip), %rdi     # 0x6afe8
leaq 0x2499b(%rip), %rsi     # 0x4b4ed
movl $0x3b, %edx
callq 0xb600
movq 0x44485(%rip), %rdi     # 0x6afe8
leaq 0x249bf(%rip), %rsi     # 0x4b529
movl $0x2b, %edx
callq 0xb600
movq 0x4446d(%rip), %r15     # 0x6afe8
leaq 0x249d3(%rip), %rsi     # 0x4b555
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 0x4443b(%rip), %rdi     # 0x6afe8
callq 0xb050
movq %rax, %rdi
callq 0xb390
leaq 0xc(%rsp), %rdi
callq 0x464da
movq %r14, %rdi
callq 0x2706b
movq %rax, %r14
movq %rbx, %rdi
callq 0x26ca8
testb %al, %al
je 0x26bef
movq %r14, %rdi
callq 0x26ca8
movl %eax, %ecx
movb $0x1, %al
testb %cl, %cl
jne 0x26c85
movq 0x20(%rbx), %rdi
movq 0x20(%r14), %rsi
cmpq %rsi, %rdi
je 0x26c06
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x26c83
movq 0x38(%rbx), %rdi
movq 0x38(%r14), %rsi
cmpq %rsi, %rdi
je 0x26c1d
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x26c83
movq 0x50(%rbx), %rdi
movq 0x50(%r14), %rsi
cmpq %rsi, %rdi
je 0x26c34
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x26c83
movq 0x68(%rbx), %rdi
movq 0x68(%r14), %rsi
cmpq %rsi, %rdi
je 0x26c4b
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x26c83
movq 0x80(%rbx), %rdi
movq 0x80(%r14), %rsi
cmpq %rsi, %rdi
je 0x26c68
movq (%rdi), %rax
callq *0x30(%rax)
testb %al, %al
je 0x26c83
movq 0x98(%rbx), %rdi
movq 0x98(%r14), %rsi
cmpq %rsi, %rdi
je 0x26c8f
movq (%rdi), %rax
callq *0x30(%rax)
jmp 0x26c85
xorl %eax, %eax
addq $0x10, %rsp
popq %rbx
popq %r14
popq %r15
retq
movb $0x1, %al
jmp 0x26c85
movq %rax, %rbx
leaq 0xc(%rsp), %rdi
callq 0x464da
movq %rbx, %rdi
callq 0xba10