// File: /workspace/github_cpp_makefile_star2_O2/yanlinlin82[P]jsonxx/demo.new.cpp
// Function: test_json_node_values()
void test_json_node_values()
{
	json j1(true);  std::cout << "[TEST:43] j1.as_boolean() = " << j1.as_boolean() << " // expected: 1" << std::endl;
	json j2(false); std::cout << "[TEST:44] j2.as_boolean() = " << j2.as_boolean() << " // expected: 0" << std::endl;

	json j3(123);  std::cout << "[TEST:46] j3.as_number() = " << j3.as_number() << " // expected: 123" << std::endl;
	json j4(3.14); std::cout << "[TEST:47] j4.as_number<float>() = " << j4.as_number<float>() << " // expected: 3.14" << std::endl;

	json j5("hello"); std::cout << "[TEST:49] j5.as_string() = " << j5.as_string() << " // expected: hello" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x258, %rsp            # imm = 0x258
leaq -0x258(%rbp), %rdi
pushq $0x1
popq %rsi
callq 0x5148
movq 0xbe83(%rip), %rdi      # 0xefd8
leaq 0x728d(%rip), %rsi      # 0xa3e9
callq 0x2220
movq %rax, %rbx
leaq -0x258(%rbp), %rdi
callq 0x5688
movzbl %al, %esi
movq %rbx, %rdi
callq 0x2340
leaq 0x7284(%rip), %rsi      # 0xa406
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq -0x1e8(%rbp), %rdi
xorl %esi, %esi
callq 0x5148
movq 0xbe31(%rip), %rdi      # 0xefd8
leaq 0x7268(%rip), %rsi      # 0xa416
callq 0x2220
movq %rax, %rbx
leaq -0x1e8(%rbp), %rdi
callq 0x5688
movzbl %al, %esi
movq %rbx, %rdi
callq 0x2340
leaq 0x6f35(%rip), %rsi      # 0xa109
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq -0x178(%rbp), %rdi
pushq $0x7b
popq %rsi
callq 0x51aa
movq 0xbdde(%rip), %rdi      # 0xefd8
leaq 0x7232(%rip), %rsi      # 0xa433
callq 0x2220
movq %rax, %rbx
leaq -0x178(%rbp), %rdi
callq 0x56b8
movq %rbx, %rdi
movl %eax, %esi
callq 0x2360
leaq 0x6f03(%rip), %rsi      # 0xa129
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq -0x108(%rbp), %rdi
movsd 0x6dcb(%rip), %xmm0     # 0xa010
callq 0x52b6
movq 0xbd87(%rip), %rdi      # 0xefd8
leaq 0x71f7(%rip), %rsi      # 0xa44f
callq 0x2220
movq %rax, %rbx
leaq -0x108(%rbp), %rdi
callq 0x573e
movq %rbx, %rdi
callq 0x21b0
leaq 0x71f7(%rip), %rsi      # 0xa472
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq 0x721d(%rip), %rsi      # 0xa4af
leaq -0x98(%rbp), %rdi
callq 0x5336
movq 0xbd33(%rip), %rdi      # 0xefd8
leaq 0x71d9(%rip), %rsi      # 0xa485
callq 0x2220
movq %rax, %rbx
leaq -0x28(%rbp), %rdi
leaq -0x98(%rbp), %rsi
callq 0x57ce
leaq -0x28(%rbp), %rsi
movq %rbx, %rdi
callq 0x2210
leaq 0x71ca(%rip), %rsi      # 0xa4a1
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq -0x28(%rbp), %rdi
callq 0x23e8
leaq -0x98(%rbp), %rdi
callq 0x565a
leaq -0x108(%rbp), %rdi
callq 0x565a
leaq -0x178(%rbp), %rdi
callq 0x565a
leaq -0x1e8(%rbp), %rdi
callq 0x565a
leaq -0x258(%rbp), %rdi
callq 0x565a
addq $0x258, %rsp            # imm = 0x258
popq %rbx
popq %rbp
retq
jmp 0x3338
movq %rax, %rbx
jmp 0x3351
jmp 0x3369
jmp 0x337a
jmp 0x335f
jmp 0x3364
movq %rax, %rbx
leaq -0x28(%rbp), %rdi
callq 0x23e8
leaq -0x98(%rbp), %rdi
callq 0x565a
jmp 0x336c
movq %rax, %rbx
jmp 0x3389
movq %rax, %rbx
jmp 0x3395
movq %rax, %rbx
leaq -0x108(%rbp), %rdi
callq 0x565a
jmp 0x337d
movq %rax, %rbx
leaq -0x178(%rbp), %rdi
callq 0x565a
leaq -0x1e8(%rbp), %rdi
callq 0x565a
leaq -0x258(%rbp), %rdi
callq 0x565a
movq %rbx, %rdi
callq 0x2370