// File: oknenavin[P]cxon/test/../src/cxon/lib/node.cbor.hxx
// Function: bool cxon::write<cxon::CBOR<cxon::cbor::format_traits>, cxon::cbor::basic_node<cxon::cbor::ordered_node_traits<std::allocator<char>>>, void>::value<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, cxon::context<cxon::CBOR<cxon::cbor::format_traits>, cxon::napa::imp::var<cxon::node::recursion_guard, unsigned int>>, cxon::CBOR<cxon::cbor::format_traits>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>&, cxon::cbor::basic_node<cxon::cbor::ordered_node_traits<std::allocator<char>>> const&, cxon::context<cxon::CBOR<cxon::cbor::format_traits>, cxon::napa::imp::var<cxon::node::recursion_guard, unsigned int>>&)
static bool value(O& o, const cbor::basic_node<Tr>& t, Cx& cx) {
                    using cbor::node_kind;
                    switch (t.kind()) {
#                       define CXON_GET(T) t.template get<typename cbor::basic_node<Tr>::T>()
                            case node_kind::map         : { CXON_NODE_RG();     return write_value<Y>(o, CXON_GET(map),         cx); }
                            case node_kind::array       : { CXON_NODE_RG();     return write_value<Y>(o, CXON_GET(array),       cx); }
                            case node_kind::tag         : { CXON_NODE_RG();     return write_value<Y>(o, CXON_GET(tag),         cx); }
                            case node_kind::bytes       :                       return write_value<Y>(o, CXON_GET(bytes),       cx);
                            case node_kind::text        :                       return write_value<Y>(o, CXON_GET(text),        cx);
                            case node_kind::real        :                       return write_value<Y>(o, CXON_GET(real),        cx);
                            case node_kind::sint        :                       return write_value<Y>(o, CXON_GET(sint),        cx);
                            case node_kind::uint        :                       return write_value<Y>(o, CXON_GET(uint),        cx);
                            case node_kind::simple      :                       return write_value<Y>(o, CXON_GET(simple),      cx);
                            case node_kind::boolean     :                       return write_value<Y>(o, CXON_GET(boolean),     cx);
                            case node_kind::null        :                       return write_value<Y>(o, CXON_GET(null),        cx);
                            case node_kind::undefined   :                       return write_value<Y>(o, CXON_GET(undefined),   cx);
#                       undef CXON_GET
                    }
                    return false; // LCOV_EXCL_LINE
                }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq -0x18(%rbp), %rdi
callq 0x408a0
movl %eax, %ecx
movq %rcx, -0x58(%rbp)
subl $0xb, %eax
ja 0x40878
movq -0x58(%rbp), %rax
leaq 0x81c92(%rip), %rcx     # 0xc218c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x20(%rbp), %rsi
leaq -0x28(%rbp), %rdi
callq 0x30ae0
leaq -0x28(%rbp), %rdi
callq 0x30b30
testb $0x1, %al
jne 0x40539
movq -0x20(%rbp), %rdi
movl $0x2, %esi
callq 0x30b80
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0x4058a
movq -0x10(%rbp), %rax
movq %rax, -0x68(%rbp)
movq -0x18(%rbp), %rdi
callq 0x408f0
movq -0x68(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x408c0
movb %al, -0x59(%rbp)
jmp 0x4055f
movb -0x59(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0x4058a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x28(%rbp), %rdi
callq 0x30bc0
jmp 0x4088a
leaq -0x28(%rbp), %rdi
callq 0x30bc0
jmp 0x4087c
movq -0x20(%rbp), %rsi
leaq -0x48(%rbp), %rdi
callq 0x30ae0
leaq -0x48(%rbp), %rdi
callq 0x30b30
testb $0x1, %al
jne 0x405ce
movq -0x20(%rbp), %rdi
movl $0x2, %esi
callq 0x30b80
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0x4061f
movq -0x10(%rbp), %rax
movq %rax, -0x78(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40950
movq -0x78(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x40920
movb %al, -0x69(%rbp)
jmp 0x405f4
movb -0x69(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0x4061f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x48(%rbp), %rdi
callq 0x30bc0
jmp 0x4088a
leaq -0x48(%rbp), %rdi
callq 0x30bc0
jmp 0x4087c
movq -0x20(%rbp), %rsi
leaq -0x50(%rbp), %rdi
callq 0x30ae0
leaq -0x50(%rbp), %rdi
callq 0x30b30
testb $0x1, %al
jne 0x40663
movq -0x20(%rbp), %rdi
movl $0x2, %esi
callq 0x30b80
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0x406ba
movq -0x10(%rbp), %rax
movq %rax, -0x88(%rbp)
movq -0x18(%rbp), %rdi
callq 0x409b0
movq -0x88(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x40980
movb %al, -0x79(%rbp)
jmp 0x4068f
movb -0x79(%rbp), %al
andb $0x1, %al
movb %al, -0x1(%rbp)
movl $0x1, -0x2c(%rbp)
jmp 0x406ba
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x38(%rbp)
movl %eax, -0x3c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0x30bc0
jmp 0x4088a
leaq -0x50(%rbp), %rdi
callq 0x30bc0
jmp 0x4087c
movq -0x10(%rbp), %rax
movq %rax, -0x90(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40a10
movq -0x90(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x409e0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4087c
movq -0x10(%rbp), %rax
movq %rax, -0x98(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40a70
movq -0x98(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x40a40
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4087c
movq -0x10(%rbp), %rax
movq %rax, -0xa0(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40ae0
movq -0xa0(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x40aa0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4087c
movq -0x10(%rbp), %rax
movq %rax, -0xa8(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40b40
movq -0xa8(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x40b10
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4087c
movq -0x10(%rbp), %rax
movq %rax, -0xb0(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40ba0
movq -0xb0(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x40b70
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4087c
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40c00
movq -0xb8(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x40bd0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4087c
movq -0x10(%rbp), %rax
movq %rax, -0xc0(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40c70
movq -0xc0(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x40c30
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4087c
movq -0x10(%rbp), %rax
movq %rax, -0xc8(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40cd0
movq -0xc8(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x40ca0
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4087c
movq -0x10(%rbp), %rax
movq %rax, -0xd0(%rbp)
movq -0x18(%rbp), %rdi
callq 0x40d30
movq -0xd0(%rbp), %rdi
movq %rax, %rsi
movq -0x20(%rbp), %rdx
callq 0x40d00
andb $0x1, %al
movb %al, -0x1(%rbp)
jmp 0x4087c
movb $0x0, -0x1(%rbp)
movb -0x1(%rbp), %al
andb $0x1, %al
addq $0xd0, %rsp
popq %rbp
retq
movq -0x38(%rbp), %rdi
callq 0x5660
nopw %cs:(%rax,%rax)
nopl (%rax)