// File: halfflat[P]tinyopt/test/test_saved_options.cc
// Function: saved_options_deserialize_Test::TestBody()
TEST(saved_options, deserialize) {
    std::stringstream s("a '' '\t' b' c 'd");
    to::saved_options so;
    s >> so;

    EXPECT_EQ((svector{"a", "", "\t", "b c d"}), svector(so.begin(), so.end()));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x3b0, %rsp            # imm = 0x3B0
movq %rdi, -0x8(%rbp)
leaq -0x1b1(%rbp), %rdi
movq %rdi, -0x2f0(%rbp)
callq 0x10e10
movq -0x2f0(%rbp), %rdx
leaq 0x6a892(%rip), %rsi     # 0xcb372
leaq -0x1b0(%rbp), %rdi
callq 0x1d070
jmp 0x60aee
movl $0x10, %edi
movl $0x8, %esi
callq 0x61730
movl %eax, -0x2f4(%rbp)
jmp 0x60b05
movl -0x2f4(%rbp), %edx
leaq -0x190(%rbp), %rdi
leaq -0x1b0(%rbp), %rsi
callq 0x10cf0
jmp 0x60b20
leaq -0x1b0(%rbp), %rdi
callq 0x10fc8
leaq -0x1b1(%rbp), %rdi
callq 0x10810
leaq -0x1e0(%rbp), %rdi
movq %rdi, -0x300(%rbp)
callq 0x611a0
movq -0x300(%rbp), %rsi
leaq -0x190(%rbp), %rdi
callq 0x61750
jmp 0x60b60
movb $0x1, -0x2a5(%rbp)
leaq -0x298(%rbp), %rax
movq %rax, -0x310(%rbp)
movq %rax, -0x2a0(%rbp)
leaq -0x2a1(%rbp), %rdi
movq %rdi, -0x308(%rbp)
callq 0x10e10
movq -0x310(%rbp), %rdi
movq -0x308(%rbp), %rdx
leaq 0x68add(%rip), %rsi     # 0xc9681
callq 0x1d070
jmp 0x60bab
leaq -0x278(%rbp), %rax
movq %rax, -0x320(%rbp)
movq %rax, -0x2a0(%rbp)
leaq -0x2a2(%rbp), %rdi
movq %rdi, -0x318(%rbp)
callq 0x10e10
movq -0x320(%rbp), %rdi
movq -0x318(%rbp), %rdx
leaq 0x6a71f(%rip), %rsi     # 0xcb307
callq 0x1d070
jmp 0x60bef
leaq -0x258(%rbp), %rax
movq %rax, -0x330(%rbp)
movq %rax, -0x2a0(%rbp)
leaq -0x2a3(%rbp), %rdi
movq %rdi, -0x328(%rbp)
callq 0x10e10
movq -0x330(%rbp), %rdi
movq -0x328(%rbp), %rdx
leaq 0x6a6da(%rip), %rsi     # 0xcb306
callq 0x1d070
jmp 0x60c33
leaq -0x238(%rbp), %rax
movq %rax, -0x340(%rbp)
movq %rax, -0x2a0(%rbp)
leaq -0x2a4(%rbp), %rdi
movq %rdi, -0x338(%rbp)
callq 0x10e10
movq -0x340(%rbp), %rdi
movq -0x338(%rbp), %rdx
leaq 0x6a753(%rip), %rsi     # 0xcb3c3
callq 0x1d070
jmp 0x60c77
movb $0x0, -0x2a5(%rbp)
leaq -0x298(%rbp), %rax
movq %rax, -0x218(%rbp)
movq $0x4, -0x210(%rbp)
leaq -0x2a6(%rbp), %rdi
movq %rdi, -0x348(%rbp)
callq 0x39000
movq -0x348(%rbp), %rcx
movq -0x218(%rbp), %rsi
movq -0x210(%rbp), %rdx
leaq -0x208(%rbp), %rdi
callq 0x39020
jmp 0x60ccd
leaq -0x1e0(%rbp), %rdi
movq %rdi, -0x358(%rbp)
callq 0x3b980
movq -0x358(%rbp), %rdi
movq %rax, -0x2c8(%rbp)
callq 0x3b800
movq %rax, -0x2d0(%rbp)
leaq -0x2d1(%rbp), %rdi
movq %rdi, -0x350(%rbp)
callq 0x39000
movq -0x350(%rbp), %rcx
movq -0x2c8(%rbp), %rsi
movq -0x2d0(%rbp), %rdx
leaq -0x2c0(%rbp), %rdi
callq 0x61240
jmp 0x60d30
leaq 0x6a64c(%rip), %rsi     # 0xcb383
leaq 0x6a667(%rip), %rdx     # 0xcb3a5
leaq -0x1f0(%rbp), %rdi
leaq -0x208(%rbp), %rcx
leaq -0x2c0(%rbp), %r8
callq 0x38fb0
jmp 0x60d5a
leaq -0x2c0(%rbp), %rdi
callq 0x390a0
leaq -0x2d1(%rbp), %rdi
callq 0x39100
leaq -0x208(%rbp), %rdi
callq 0x390a0
leaq -0x2a6(%rbp), %rdi
callq 0x39100
leaq -0x298(%rbp), %rax
movq %rax, -0x368(%rbp)
addq $0x80, %rax
movq %rax, -0x360(%rbp)
movq -0x360(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x370(%rbp)
callq 0x10fc8
movq -0x368(%rbp), %rcx
movq -0x370(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x360(%rbp)
jne 0x60da5
leaq -0x2a4(%rbp), %rdi
callq 0x10810
leaq -0x2a3(%rbp), %rdi
callq 0x10810
leaq -0x2a2(%rbp), %rdi
callq 0x10810
leaq -0x2a1(%rbp), %rdi
callq 0x10810
leaq -0x1f0(%rbp), %rdi
callq 0x1d4e0
movb %al, -0x371(%rbp)
jmp 0x60e1a
movb -0x371(%rbp), %al
testb $0x1, %al
jne 0x60e29
jmp 0x61040
jmp 0x610f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x60e60
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x1b0(%rbp), %rdi
callq 0x10fc8
leaq -0x1b1(%rbp), %rdi
callq 0x10810
jmp 0x61149
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x61131
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x60fc0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x60fb4
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x60fa8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x60f9c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x60f42
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x60f2a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x2c0(%rbp), %rdi
callq 0x390a0
leaq -0x2d1(%rbp), %rdi
callq 0x39100
leaq -0x208(%rbp), %rdi
callq 0x390a0
leaq -0x2a6(%rbp), %rdi
callq 0x39100
leaq -0x298(%rbp), %rax
movq %rax, -0x388(%rbp)
addq $0x80, %rax
movq %rax, -0x380(%rbp)
movq -0x380(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x390(%rbp)
callq 0x10fc8
movq -0x388(%rbp), %rcx
movq -0x390(%rbp), %rax
cmpq %rcx, %rax
movq %rax, -0x380(%rbp)
jne 0x60f69
jmp 0x60f9c
leaq -0x2a4(%rbp), %rdi
callq 0x10810
leaq -0x2a3(%rbp), %rdi
callq 0x10810
leaq -0x2a2(%rbp), %rdi
callq 0x10810
leaq -0x2a1(%rbp), %rdi
callq 0x10810
testb $0x1, -0x2a5(%rbp)
jne 0x60fd7
jmp 0x61024
movq -0x2a0(%rbp), %rax
leaq -0x298(%rbp), %rcx
cmpq %rax, %rcx
movq %rax, -0x398(%rbp)
je 0x61022
movq -0x398(%rbp), %rdi
addq $-0x20, %rdi
movq %rdi, -0x3a0(%rbp)
callq 0x10fc8
movq -0x3a0(%rbp), %rax
leaq -0x298(%rbp), %rcx
cmpq %rcx, %rax
movq %rax, -0x398(%rbp)
jne 0x60ff1
jmp 0x61024
jmp 0x61131
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x61125
leaq -0x2e0(%rbp), %rdi
callq 0x84210
jmp 0x6104e
leaq -0x1f0(%rbp), %rdi
callq 0x1d620
movq %rax, -0x3a8(%rbp)
jmp 0x61063
movq -0x3a8(%rbp), %r8
leaq 0x6a110(%rip), %rdx     # 0xcb181
leaq -0x2e8(%rbp), %rdi
movl $0x1, %esi
movl $0x36, %ecx
callq 0x80580
jmp 0x61089
leaq -0x2e8(%rbp), %rdi
leaq -0x2e0(%rbp), %rsi
callq 0x7d370
jmp 0x6109e
leaq -0x2e8(%rbp), %rdi
callq 0x80600
leaq -0x2e0(%rbp), %rdi
callq 0x1d500
jmp 0x610f8
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
jmp 0x610ea
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x1c0(%rbp)
movl %eax, -0x1c4(%rbp)
leaq -0x2e8(%rbp), %rdi
callq 0x80600
leaq -0x2e0(%rbp), %rdi
callq 0x1d500
jmp 0x61125
leaq -0x1f0(%rbp), %rdi
callq 0x1d520
leaq -0x1e0(%rbp), %rdi
callq 0x61330
leaq -0x190(%rbp), %rdi
callq 0x10570
addq $0x3b0, %rsp            # imm = 0x3B0
popq %rbp
retq
leaq -0x1f0(%rbp), %rdi
callq 0x1d520
leaq -0x1e0(%rbp), %rdi
callq 0x61330
leaq -0x190(%rbp), %rdi
callq 0x10570
movq -0x1c0(%rbp), %rdi
callq 0x10e00
nopw %cs:(%rax,%rax)
nop