// File: /workspace/github_cpp_makefile_star2_O2/VanAndelInstitute[P]intent/include/strict_fstream.hpp
// Function: strict_fstream::detail::static_method_holder::check_mode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::_Ios_Openmode)
static void check_mode(const std::string& filename, std::ios_base::openmode mode)
    {
        if ((mode & std::ios_base::trunc) && ! (mode & std::ios_base::out))
        {
            throw Exception(std::string("strict_fstream: open('") + filename + "'): mode error: trunc and not out");
        }
        else if ((mode & std::ios_base::app) && ! (mode & std::ios_base::out))
        {
            throw Exception(std::string("strict_fstream: open('") + filename + "'): mode error: app and not out");
        }
        else if ((mode & std::ios_base::trunc) && (mode & std::ios_base::app))
        {
            throw Exception(std::string("strict_fstream: open('") + filename + "'): mode error: trunc and app");
        }
     }

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x70, %rsp
movq %rdi, %r14
testb $0x20, %sil
jne 0x1554d
andl $0x11, %esi
cmpl $0x1, %esi
jne 0x15559
pushq $0x28
popq %rdi
callq 0x6250
movq %rax, %rbx
leaq 0x131d3(%rip), %rsi     # 0x286bc
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1463a
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movq %r14, %rdx
callq 0x158f5
leaq 0x131e4(%rip), %rdx     # 0x286f5
leaq 0x50(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1523a
movb $0x1, %bpl
leaq 0x50(%rsp), %rsi
movq %rbx, %rdi
callq 0x15914
xorl %ebp, %ebp
leaq 0x224c7(%rip), %rsi     # 0x37a00
leaq 0x40a(%rip), %rdx       # 0x1594a
movq %rbx, %rdi
callq 0x6660
jmp 0x15646
testb $0x10, %sil
je 0x15562
testb $0x1, %sil
jne 0x155d5
addq $0x70, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x28
popq %rdi
callq 0x6250
movq %rax, %rbx
leaq 0x13148(%rip), %rsi     # 0x286bc
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1463a
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movq %r14, %rdx
callq 0x158f5
leaq 0x13137(%rip), %rdx     # 0x286d3
leaq 0x50(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1523a
movb $0x1, %bpl
leaq 0x50(%rsp), %rsi
movq %rbx, %rdi
callq 0x15914
xorl %ebp, %ebp
leaq 0x2243c(%rip), %rsi     # 0x37a00
leaq 0x37f(%rip), %rdx       # 0x1594a
movq %rbx, %rdi
callq 0x6660
jmp 0x15646
pushq $0x28
popq %rdi
callq 0x6250
movq %rax, %rbx
leaq 0x130d5(%rip), %rsi     # 0x286bc
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1463a
leaq 0x30(%rsp), %rdi
leaq 0x10(%rsp), %rsi
movq %r14, %rdx
callq 0x158f5
leaq 0x13106(%rip), %rdx     # 0x28715
leaq 0x50(%rsp), %rdi
leaq 0x30(%rsp), %rsi
callq 0x1523a
movb $0x1, %bpl
leaq 0x50(%rsp), %rsi
movq %rbx, %rdi
callq 0x15914
xorl %ebp, %ebp
leaq 0x223c9(%rip), %rsi     # 0x37a00
leaq 0x30c(%rip), %rdx       # 0x1594a
movq %rbx, %rdi
callq 0x6660
jmp 0x1564c
jmp 0x1565d
jmp 0x1564c
movq %rax, %r14
leaq 0x50(%rsp), %rdi
callq 0x6768
jmp 0x15663
jmp 0x1565d
movq %rax, %r14
movb $0x1, %bpl
leaq 0x30(%rsp), %rdi
callq 0x6768
jmp 0x15679
jmp 0x15673
jmp 0x15673
movq %rax, %r14
movb $0x1, %bpl
leaq 0x10(%rsp), %rdi
callq 0x6768
testb %bpl, %bpl
jne 0x15691
jmp 0x15699
jmp 0x1568e
jmp 0x1568e
movq %rax, %r14
movq %rbx, %rdi
callq 0x6320
movq %r14, %rdi
callq 0x66a0
nop