LLM4Binary/decompile-bench-makefile huggingface dataset:
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::queue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> swxJson::Json::wantQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::queue<T, Container> wantQueue(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantQueue<T, Container>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x2623a
movq (%r14), %rsi
testq %rsi, %rsi
je 0x2101a
movq %rbx, %rdi
callq 0x210ac
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xe5ce(%rip), %rsi      # 0x2f5fa
leaq 0x20(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xe58a(%rip), %rsi      # 0x2f5cf
leaq 0xe5f3(%rip), %rdx      # 0x2f63f
leaq 0x20(%rsp), %r8
movq %rbx, %rdi
movl $0x3e0, %ecx            # imm = 0x3E0
callq 0x1f23c
xorl %ebp, %ebp
leaq 0x1bbb9(%rip), %rsi     # 0x3cc20
leaq -0x1e18(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x20(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x2108d
jmp 0x2109a
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x2109a
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::queue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> swxJson::Json::wantQueue<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>()
std::queue<T, Container> wantQueue()
	{
		if (_type != JSON_Array)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
		std::queue<T, Container> res;

		for (auto& node: *data)
			res.push((T)(*node));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
cmpl $0x1, (%rsi)
jne 0x2110c
movq %rdi, %rbx
movq 0x8(%rsi), %r15
callq 0x211ac
leaq 0x10(%rsp), %r14
movq %r15, %r12
movq (%r12), %r12
cmpq %r15, %r12
je 0x210fc
movq 0x10(%r12), %rsi
movq %r14, %rdi
callq 0x28382
movq %rbx, %rdi
movq %r14, %rsi
callq 0x213d4
movq %r14, %rdi
callq 0x1b458
jmp 0x210d1
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xe4f7(%rip), %rsi      # 0x2f615
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xe498(%rip), %rsi      # 0x2f5cf
leaq 0xe501(%rip), %rdx      # 0x2f63f
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x34f, %ecx            # imm = 0x34F
callq 0x1f284
xorl %ebp, %ebp
leaq 0x1baaf(%rip), %rsi     # 0x3cc08
leaq -0x1f0a(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x2117f
jmp 0x211a3
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x211a3
movq %rax, %r14
jmp 0x2119b
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
movq %rbx, %rdi
callq 0x216a0
movq %r14, %rdi
callq 0x1b410
nop
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantDeque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::deque<T, Alloc> wantDeque(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantDeque<T, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x2623a
movq (%r14), %rsi
testq %rsi, %rsi
je 0x21ec4
movq %rbx, %rdi
callq 0x21f56
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xd724(%rip), %rsi      # 0x2f5fa
leaq 0x20(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xd6e0(%rip), %rsi      # 0x2f5cf
leaq 0xd783(%rip), %rdx      # 0x2f679
leaq 0x20(%rsp), %r8
movq %rbx, %rdi
movl $0x3ea, %ecx            # imm = 0x3EA
callq 0x1f23c
xorl %ebp, %ebp
leaq 0x1ad0f(%rip), %rsi     # 0x3cc20
leaq -0x2cc2(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x20(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x21f37
jmp 0x21f44
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x21f44
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::deque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantDeque<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>()
std::deque<T, Alloc> wantDeque()
	{
		if (_type != JSON_Array)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
		std::deque<T, Alloc> res;

		for (auto& node: *data)
			res.push_back((T)(*node));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
cmpl $0x1, (%rsi)
jne 0x21fb6
movq %rdi, %rbx
movq 0x8(%rsi), %r15
callq 0x211c8
leaq 0x10(%rsp), %r14
movq %r15, %r12
movq (%r12), %r12
cmpq %r15, %r12
je 0x21fa6
movq 0x10(%r12), %rsi
movq %r14, %rdi
callq 0x28382
movq %rbx, %rdi
movq %r14, %rsi
callq 0x213d4
movq %r14, %rdi
callq 0x1b458
jmp 0x21f7b
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xd64d(%rip), %rsi      # 0x2f615
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xd5ee(%rip), %rsi      # 0x2f5cf
leaq 0xd691(%rip), %rdx      # 0x2f679
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x35e, %ecx            # imm = 0x35E
callq 0x1f284
xorl %ebp, %ebp
leaq 0x1ac05(%rip), %rsi     # 0x3cc08
leaq -0x2db4(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x22029
jmp 0x2204d
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x2204d
movq %rax, %r14
jmp 0x22045
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
movq %rbx, %rdi
callq 0x216a0
movq %r14, %rdi
callq 0x1b410
nop
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantList<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::list<T, Alloc> wantList(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantList<T, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x2623a
movq (%r14), %rsi
testq %rsi, %rsi
je 0x2224e
movq %rbx, %rdi
callq 0x222e0
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xd39a(%rip), %rsi      # 0x2f5fa
leaq 0x20(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xd356(%rip), %rsi      # 0x2f5cf
leaq 0xd403(%rip), %rdx      # 0x2f683
leaq 0x20(%rsp), %r8
movq %rbx, %rdi
movl $0x3f4, %ecx            # imm = 0x3F4
callq 0x1f23c
xorl %ebp, %ebp
leaq 0x1a985(%rip), %rsi     # 0x3cc20
leaq -0x304c(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x20(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x222c1
jmp 0x222ce
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x222ce
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::__cxx11::list<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantList<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>()
std::list<T, Alloc> wantList()
	{
		if (_type != JSON_Array)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
		std::list<T, Alloc> res;

		for (auto& node: *data)
			res.push_back((T)(*node));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
cmpl $0x1, (%rsi)
jne 0x22347
movq %rdi, %rbx
movq 0x8(%rsi), %r15
movq %rdi, 0x8(%rdi)
movq %rdi, (%rdi)
andq $0x0, 0x10(%rdi)
leaq 0x10(%rsp), %r14
movq %r15, %r12
movq (%r12), %r12
cmpq %r15, %r12
je 0x22337
movq 0x10(%r12), %rsi
movq %r14, %rdi
callq 0x28382
movq %rbx, %rdi
movq %r14, %rsi
callq 0x223e6
movq %r14, %rdi
callq 0x1b458
jmp 0x2230c
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xd2bc(%rip), %rsi      # 0x2f615
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xd25d(%rip), %rsi      # 0x2f5cf
leaq 0xd30a(%rip), %rdx      # 0x2f683
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x36d, %ecx            # imm = 0x36D
callq 0x1f284
xorl %ebp, %ebp
leaq 0x1a874(%rip), %rsi     # 0x3cc08
leaq -0x3145(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x223ba
jmp 0x223de
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x223de
movq %rax, %r14
jmp 0x223d6
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
movq %rbx, %rdi
callq 0x224be
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantVector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::vector<T, Alloc> wantVector(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantVector<T, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x2623a
movq (%r14), %rsi
testq %rsi, %rsi
je 0x227ec
movq %rbx, %rdi
callq 0x228a0
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xcdfc(%rip), %rsi      # 0x2f5fa
leaq 0x20(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xcdb8(%rip), %rsi      # 0x2f5cf
leaq 0xce6e(%rip), %rdx      # 0x2f68c
leaq 0x20(%rsp), %r8
movq %rbx, %rdi
movl $0x3fe, %ecx            # imm = 0x3FE
callq 0x1f23c
xorl %ebp, %ebp
leaq 0x1a3e7(%rip), %rsi     # 0x3cc20
leaq -0x35ea(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x20(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x2285f
jmp 0x2286c
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x2286c
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantVector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>()
std::vector<T, Alloc> wantVector()
	{
		if (_type != JSON_Array)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
		std::vector<T, Alloc> res;
		res.reserve(data->size());

		for (auto& node: *data)
			res.push_back((T)(*node));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
cmpl $0x1, (%rsi)
jne 0x2290f
movq %rdi, %rbx
movq 0x8(%rsi), %r15
xorps %xmm0, %xmm0
movups %xmm0, (%rdi)
andq $0x0, 0x10(%rdi)
movq 0x10(%r15), %rsi
callq 0x229b0
leaq 0x10(%rsp), %r14
movq %r15, %r12
movq (%r12), %r12
cmpq %r15, %r12
je 0x228ff
movq 0x10(%r12), %rsi
movq %r14, %rdi
callq 0x28382
movq %rbx, %rdi
movq %r14, %rsi
callq 0x22ab8
movq %r14, %rdi
callq 0x1b458
jmp 0x228d4
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xccf4(%rip), %rsi      # 0x2f615
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xcc95(%rip), %rsi      # 0x2f5cf
leaq 0xcd4b(%rip), %rdx      # 0x2f68c
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x37c, %ecx            # imm = 0x37C
callq 0x1f284
xorl %ebp, %ebp
leaq 0x1a2ac(%rip), %rsi     # 0x3cc08
leaq -0x370d(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x22982
jmp 0x229a8
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x229a8
jmp 0x2298e
movq %rax, %r14
jmp 0x229a0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
movq %rbx, %rdi
callq 0x2287e
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantSet<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::set<T, Compare, Alloc> wantSet(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantSet<T, Compare, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x2623a
movq (%r14), %rsi
testq %rsi, %rsi
je 0x23028
movq %rbx, %rdi
callq 0x230ba
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xc5c0(%rip), %rsi      # 0x2f5fa
leaq 0x20(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xc57c(%rip), %rsi      # 0x2f5cf
leaq 0xc667(%rip), %rdx      # 0x2f6c1
leaq 0x20(%rsp), %r8
movq %rbx, %rdi
movl $0x408, %ecx            # imm = 0x408
callq 0x1f23c
xorl %ebp, %ebp
leaq 0x19bab(%rip), %rsi     # 0x3cc20
leaq -0x3e26(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x20(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x2309b
jmp 0x230a8
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x230a8
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantSet<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>()
std::set<T, Compare, Alloc> wantSet()
	{
		if (_type != JSON_Array)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
		std::set<T, Compare, Alloc> res;

		for (auto& node: *data)
			res.insert((T)(*node));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
cmpl $0x1, (%rsi)
jne 0x2312f
movq %rdi, %rbx
movq 0x8(%rsi), %r15
leaq 0x8(%rdi), %rax
andl $0x0, 0x8(%rdi)
andq $0x0, 0x10(%rdi)
movq %rax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
andq $0x0, 0x28(%rdi)
leaq 0x10(%rsp), %r14
movq %r15, %r12
movq (%r12), %r12
cmpq %r15, %r12
je 0x2311f
movq 0x10(%r12), %rsi
movq %r14, %rdi
callq 0x28382
movq %rbx, %rdi
movq %r14, %rsi
callq 0x231ce
movq %r14, %rdi
callq 0x1b458
jmp 0x230f4
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xc4d4(%rip), %rsi      # 0x2f615
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xc475(%rip), %rsi      # 0x2f5cf
leaq 0xc560(%rip), %rdx      # 0x2f6c1
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x38c, %ecx            # imm = 0x38C
callq 0x1f284
xorl %ebp, %ebp
leaq 0x19a8c(%rip), %rsi     # 0x3cc08
leaq -0x3f2d(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x231a2
jmp 0x231c6
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x231c6
movq %rax, %r14
jmp 0x231be
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
movq %rbx, %rdi
callq 0x23386
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::unordered_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantUnorderedSet<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::unordered_set<Key, Hash, Pred, Alloc> wantUnorderedSet(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantUnorderedSet<Key, Hash, Pred, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x2623a
movq (%r14), %rsi
testq %rsi, %rsi
je 0x237a0
movq %rbx, %rdi
callq 0x23832
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xbe48(%rip), %rsi      # 0x2f5fa
leaq 0x20(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xbe04(%rip), %rsi      # 0x2f5cf
leaq 0xbef7(%rip), %rdx      # 0x2f6c9
leaq 0x20(%rsp), %r8
movq %rbx, %rdi
movl $0x412, %ecx            # imm = 0x412
callq 0x1f23c
xorl %ebp, %ebp
leaq 0x19433(%rip), %rsi     # 0x3cc20
leaq -0x459e(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x20(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x23813
jmp 0x23820
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x23820
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::unordered_set<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>> swxJson::Json::wantUnorderedSet<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>()
std::unordered_set<Key, Hash, Pred, Alloc> wantUnorderedSet()
	{
		if (_type != JSON_Array)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::list<JsonPtr>* data = (std::list<JsonPtr>*)_data;
		std::unordered_set<Key, Hash, Pred, Alloc> res;

		for (auto& node: *data)
			res.insert((Key)(*node));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
cmpl $0x1, (%rsi)
jne 0x238ae
movq %rdi, %rbx
movq 0x8(%rsi), %r15
leaq 0x30(%rdi), %rax
movq %rax, (%rdi)
movq $0x1, 0x8(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rdi)
movl $0x3f800000, 0x20(%rdi) # imm = 0x3F800000
movups %xmm0, 0x28(%rdi)
leaq 0x10(%rsp), %r14
movq %r15, %r12
movq (%r12), %r12
cmpq %r15, %r12
je 0x2389e
movq 0x10(%r12), %rsi
movq %r14, %rdi
callq 0x28382
movq %rbx, %rdi
movq %r14, %rsi
callq 0x2394e
movq %r14, %rdi
callq 0x1b458
jmp 0x23873
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xbd55(%rip), %rsi      # 0x2f615
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xbcf6(%rip), %rsi      # 0x2f5cf
leaq 0xbde9(%rip), %rdx      # 0x2f6c9
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x39b, %ecx            # imm = 0x39B
callq 0x1f284
xorl %ebp, %ebp
leaq 0x1930d(%rip), %rsi     # 0x3cc08
leaq -0x46ac(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x23921
jmp 0x23945
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x23945
movq %rax, %r14
jmp 0x2393d
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
movq %rbx, %rdi
callq 0x23dc2
movq %r14, %rdi
callq 0x1b410
nop
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> swxJson::Json::wantDict<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::map<std::string, T, Compare, Alloc> wantDict(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantDict<T, Compare, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x2623a
movq (%r14), %rsi
testq %rsi, %rsi
je 0x24440
movq %rbx, %rdi
callq 0x244d2
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xb1a8(%rip), %rsi      # 0x2f5fa
leaq 0x20(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xb164(%rip), %rsi      # 0x2f5cf
leaq 0xb268(%rip), %rdx      # 0x2f6da
leaq 0x20(%rsp), %r8
movq %rbx, %rdi
movl $0x41c, %ecx            # imm = 0x41C
callq 0x1f23c
xorl %ebp, %ebp
leaq 0x18793(%rip), %rsi     # 0x3cc20
leaq -0x523e(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x20(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x244b3
jmp 0x244c0
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x244c0
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> swxJson::Json::wantDict<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>()
std::map<std::string, T, Compare, Alloc> wantDict()
	{
		if (_type != JSON_Object)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::map<std::string, JsonPtr>* data = (std::map<std::string, JsonPtr>*)_data;
		std::map<std::string, T, Compare, Alloc> res;

		for (auto& npair: *data)
			res[npair.first] = (T)(*(npair.second));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
cmpl $0x0, (%rsi)
jne 0x2455f
movq %rdi, %rbx
movq 0x8(%rsi), %r12
leaq 0x8(%rdi), %rax
andl $0x0, 0x8(%rdi)
andq $0x0, 0x10(%rdi)
movq %rax, 0x18(%rdi)
movq %rax, 0x20(%rdi)
andq $0x0, 0x28(%rdi)
movq 0x18(%r12), %r15
addq $0x8, %r12
leaq 0x10(%rsp), %r14
cmpq %r12, %r15
je 0x2454f
movq 0x40(%r15), %rsi
movq %r14, %rdi
callq 0x28382
leaq 0x20(%r15), %rsi
movq %rbx, %rdi
callq 0x245fe
movq %rax, %rdi
movq %r14, %rsi
callq 0x1b300
movq %r14, %rdi
callq 0x1b458
movq %r15, %rdi
callq 0x1b180
movq %rax, %r15
jmp 0x24512
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xb0a4(%rip), %rsi      # 0x2f615
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xb045(%rip), %rsi      # 0x2f5cf
leaq 0xb149(%rip), %rdx      # 0x2f6da
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x3aa, %ecx            # imm = 0x3AA
callq 0x1f284
xorl %ebp, %ebp
leaq 0x1865c(%rip), %rsi     # 0x3cc08
leaq -0x535d(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x245d2
jmp 0x245f6
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x245f6
movq %rax, %r14
jmp 0x245ee
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
movq %rbx, %rdi
callq 0x24a46
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> swxJson::Json::wantUnorderedDict<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
std::unordered_map<std::string, T, Hash, Pred, Alloc> wantUnorderedDict(const std::string& path, const std::string& delim = "./")
	{
		JsonPtr node = getNode(path, delim);
		if (node)
			return node->wantUnorderedDict<T, Hash, Pred, Alloc>();
		
		throw JSON_ERROR_MSG(JosnNodeNotExistError, "Target node doesn't exist.");
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rdi, %rbx
leaq 0x10(%rsp), %r14
movq %r14, %rdi
callq 0x2623a
movq (%r14), %rsi
testq %rsi, %rsi
je 0x25114
movq %rbx, %rdi
callq 0x251a6
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xa4d4(%rip), %rsi      # 0x2f5fa
leaq 0x20(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xa490(%rip), %rsi      # 0x2f5cf
leaq 0xa59d(%rip), %rdx      # 0x2f6e3
leaq 0x20(%rsp), %r8
movq %rbx, %rdi
movl $0x426, %ecx            # imm = 0x426
callq 0x1f23c
xorl %ebp, %ebp
leaq 0x17abf(%rip), %rsi     # 0x3cc20
leaq -0x5f12(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x20(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x25187
jmp 0x25194
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x25194
movq %rax, %r14
leaq 0x18(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/tests/../src/swxJson.Enhancement.inc.h
// Function: std::unordered_map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>> swxJson::Json::wantUnorderedDict<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>()
std::unordered_map<std::string, T, Hash, Pred, Alloc> wantUnorderedDict()
	{
		if (_type != JSON_Object)
			throw JSON_ERROR_MSG(JsonNodeTypeMissMatchError, "Node type miss match.");

		std::map<std::string, JsonPtr>* data = (std::map<std::string, JsonPtr>*)_data;
		std::unordered_map<std::string, T, Hash, Pred, Alloc> res;

		for (auto& npair: *data)
			res[npair.first] = (T)(*(npair.second));

		return res;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
cmpl $0x0, (%rsi)
jne 0x2523e
movq %rdi, %rbx
movq 0x8(%rsi), %r12
leaq 0x30(%rdi), %rax
movq %rax, (%rdi)
movq $0x1, 0x8(%rdi)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rdi)
movl $0x3f800000, 0x20(%rdi) # imm = 0x3F800000
movups %xmm0, 0x28(%rdi)
movq 0x18(%r12), %r15
addq $0x8, %r12
leaq 0x10(%rsp), %r14
cmpq %r12, %r15
je 0x2522e
movq 0x40(%r15), %rsi
movq %r14, %rdi
callq 0x28382
leaq 0x20(%r15), %rsi
movq %rbx, %rdi
callq 0x252de
movq %rax, %rdi
movq %r14, %rsi
callq 0x1b300
movq %r14, %rdi
callq 0x1b458
movq %r15, %rdi
callq 0x1b180
movq %rax, %r15
jmp 0x251f1
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0xa3c5(%rip), %rsi      # 0x2f615
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0xa366(%rip), %rsi      # 0x2f5cf
leaq 0xa473(%rip), %rdx      # 0x2f6e3
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x3b9, %ecx            # imm = 0x3B9
callq 0x1f284
xorl %ebp, %ebp
leaq 0x1797d(%rip), %rsi     # 0x3cc08
leaq -0x603c(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x252b1
jmp 0x252d5
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x252d5
movq %rax, %r14
jmp 0x252cd
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
movq %rbx, %rdi
callq 0x256fe
movq %r14, %rdi
callq 0x1b410
nop
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::insertNode(std::shared_ptr<swxJson::Json>)
JsonPtr insertNode(JsonPtr node)
	{
		if (_nodeStack.empty())
			return node;
	
		if (_wantValue)
			fillValue(node);
		else
		{
			_nodeStack.top()->pushNode(node);
			_wantComma = true;
		}
		
		return nullptr;
	}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x20, %rsp
movq %rdi, %rbx
movq 0x12a8(%rsi), %rax
cmpq 0x1288(%rsi), %rax
je 0x2ccd6
movq %rsi, %r14
cmpb $0x1, 0x12e9(%rsi)
jne 0x2cce7
leaq 0x18(%rsp), %r15
leaq 0x10(%rsp), %r12
movq %r12, %rdi
movq %rdx, %rsi
callq 0x1efb8
movq %r14, %rdi
movq %r12, %rsi
callq 0x2d402
leaq 0x18(%rsp), %rdi
callq 0x1efec
jmp 0x2cd34
movups (%rdx), %xmm0
andq $0x0, 0x8(%rdx)
movups %xmm0, (%rbx)
andq $0x0, (%rdx)
jmp 0x2cd3a
cmpq 0x12b0(%r14), %rax
jne 0x2cd00
movq 0x12c0(%r14), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
leaq 0x8(%rsp), %r15
movq -0x10(%rax), %r12
movq %rsp, %r13
movq %r13, %rdi
movq %rdx, %rsi
callq 0x1efb8
movq %r12, %rdi
movq %r13, %rsi
callq 0x26cf0
leaq 0x8(%rsp), %rdi
callq 0x1efec
movb $0x1, 0x12ea(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
movq %rbx, %rax
addq $0x20, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
jmp 0x2cd4d
movq %rax, %rbx
movq %r15, %rdi
callq 0x1efec
movq %rbx, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::JsonParser()
JsonParser(): _numberChars("0123456789+-.eE"), _pos(0)
	{
		_wantKey = false;
		_wantValue = false;
		_wantComma = false;
		_wantSemicolon = false;

		for (int i = 0; i < 256; i++)
			_callMap[i] = &JsonParser::generalProcess;

		_callMap[(uint8_t)'{'] = &JsonParser::enterObject;
		_callMap[(uint8_t)'}'] = &JsonParser::exitObject;
		_callMap[(uint8_t)'['] = &JsonParser::enterArray;
		_callMap[(uint8_t)']'] = &JsonParser::exitArray;
		_callMap[(uint8_t)','] = &JsonParser::processComma;
		_callMap[(uint8_t)':'] = &JsonParser::processSemicolon;
		_callMap[(uint8_t)'"'] = &JsonParser::processString;
	}

// Assembly:
pushq %r14
pushq %rbx
subq $0x28, %rsp
movq %rdi, %rbx
leaq 0x2a13(%rip), %rsi      # 0x2fc78
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1d34a
leaq 0x1000(%rbx), %rdi
leaq 0x8(%rsp), %rsi
callq 0x2d54c
leaq 0x8(%rsp), %rdi
callq 0x1b458
leaq 0x1100(%rbx), %r14
movq %r14, %rdi
callq 0x1b350
leaq 0x1278(%rbx), %rdi
callq 0x2d55a
leaq 0x12d8(%rbx), %rax
movq %rax, 0x12c8(%rbx)
andq $0x0, 0x12d0(%rbx)
movb $0x0, 0x12d8(%rbx)
andq $0x0, 0x12f0(%rbx)
andl $0x0, 0x12e8(%rbx)
xorl %eax, %eax
leaq -0xb9b(%rip), %rcx      # 0x2c744
cmpq $0x1000, %rax           # imm = 0x1000
je 0x2d2f7
movq %rcx, (%rbx,%rax)
andq $0x0, 0x8(%rbx,%rax)
addq $0x10, %rax
jmp 0x2d2df
leaq 0x278(%rip), %rax       # 0x2d576
movq %rax, 0x7b0(%rbx)
andq $0x0, 0x7b8(%rbx)
leaq 0x3dc(%rip), %rax       # 0x2d6f0
movq %rax, 0x7d0(%rbx)
andq $0x0, 0x7d8(%rbx)
leaq 0x4b2(%rip), %rax       # 0x2d7dc
movq %rax, 0x5b0(%rbx)
andq $0x0, 0x5b8(%rbx)
leaq 0x612(%rip), %rax       # 0x2d952
movq %rax, 0x5d0(%rbx)
andq $0x0, 0x5d8(%rbx)
leaq 0x6e8(%rip), %rax       # 0x2da3e
movq %rax, 0x2c0(%rbx)
andq $0x0, 0x2c8(%rbx)
leaq 0x7b6(%rip), %rax       # 0x2db22
movq %rax, 0x3a0(%rbx)
andq $0x0, 0x3a8(%rbx)
leaq 0x85c(%rip), %rax       # 0x2dbde
movq %rax, 0x220(%rbx)
andq $0x0, 0x228(%rbx)
addq $0x28, %rsp
popq %rbx
popq %r14
retq
movq %rax, %rbx
movq %r14, %rdi
callq 0x1b090
jmp 0x2d3b8
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x1b458
jmp 0x2d3b8
movq %rax, %rbx
movq %rbx, %rdi
callq 0x1b410
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::fillValue(std::shared_ptr<swxJson::Json>)
void fillValue(JsonPtr node)
	{
		if (_nodeStack.top()->addNode(_key, node) == false)
			throw JSON_ERROR_FMT(JosnInvalidContentError, "Json parser: content error, reduplicated key: %s.", _key.c_str());
		
		_wantKey = false;
		_wantValue = false;
		_wantComma = true;
		_wantSemicolon = false;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
movq 0x12a8(%rdi), %rax
cmpq 0x12b0(%rdi), %rax
jne 0x2d431
movq 0x12c0(%rbx), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movq -0x10(%rax), %r15
leaq 0x12c8(%rbx), %r14
movq %rsp, %r12
movq %r12, %rdi
callq 0x1efb8
movq %r15, %rdi
movq %r14, %rsi
movq %r12, %rdx
callq 0x269ca
movl %eax, %ebp
leaq 0x8(%rsp), %rdi
callq 0x1efec
testb %bpl, %bpl
je 0x2d47d
movl $0x10000, 0x12e8(%rbx)  # imm = 0x10000
addq $0x30, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
movq (%r14), %rdx
leaq 0x272e(%rip), %rsi      # 0x2fbc0
leaq 0x10(%rsp), %rdi
xorl %eax, %eax
callq 0x2ec4a
movb $0x1, %bpl
leaq 0x2648(%rip), %rsi      # 0x2faf0
leaq 0x2707(%rip), %rdx      # 0x2fbb6
pushq $0x42
popq %rcx
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
callq 0x2cc64
xorl %ebp, %ebp
leaq 0xf8a0(%rip), %rsi      # 0x3cd68
leaq -0xe279(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x2d4ee
jmp 0x2d505
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x2d505
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410
nop
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::enterObject()
JsonPtr enterObject()
	{
		if (_wantKey || _wantSemicolon || _wantComma)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, '{' at improper place.");

		JsonPtr node(new Json());
		node->setDict();
		insertNode(node);
		_nodeStack.push(node);

		_wantKey = true;
		_wantValue = false;
		_wantComma = false;
		_wantSemicolon = false;

		_pos++;
		return nullptr;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
cmpb $0x0, 0x12e8(%rsi)
jne 0x2d650
movq %rsi, %r14
cmpb $0x0, 0x12eb(%rsi)
jne 0x2d650
cmpb $0x1, 0x12ea(%r14)
je 0x2d650
movq %rdi, %rbx
pushq $0x10
popq %rdi
callq 0x1b290
movl $0x8, (%rax)
andq $0x0, 0x8(%rax)
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x2ab28
movq (%r15), %rdi
callq 0x268c2
leaq 0x28(%rsp), %r15
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x1efb8
leaq 0x38(%rsp), %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2cc7e
leaq 0x40(%rsp), %rdi
callq 0x1efec
leaq 0x30(%rsp), %rdi
callq 0x1efec
leaq 0x1278(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x2dfb2
movl $0x1, 0x12e8(%r14)
incq 0x12f0(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
leaq 0x10(%rsp), %rdi
callq 0x1efec
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0x2632(%rip), %rsi      # 0x2fc94
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0x2475(%rip), %rsi      # 0x2faf0
leaq 0x2606(%rip), %rdx      # 0x2fc88
pushq $0x24
popq %rcx
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
callq 0x2cc64
xorl %ebp, %ebp
leaq 0xf6cd(%rip), %rsi      # 0x3cd68
leaq -0xe44c(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x1efec
jmp 0x2d6dd
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x2d6d0
jmp 0x2d6e7
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x2d6e7
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410
nop
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::exitObject()
JsonPtr exitObject()
	{
		if (_wantSemicolon || _wantValue || _nodeStack.empty() || _nodeStack.top()->type() != Json::JSON_Object)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, '}' at improper place.");

		_pos++;
		return finishNode();
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x30, %rsp
cmpb $0x0, 0x12eb(%rsi)
jne 0x2d75a
cmpb $0x0, 0x12e9(%rsi)
jne 0x2d75a
movq 0x12a8(%rsi), %rax
cmpq 0x1288(%rsi), %rax
je 0x2d75a
movq %rdi, %rbx
cmpq 0x12b0(%rsi), %rax
jne 0x2d736
movq 0x12c0(%rsi), %rcx
movl $0x200, %eax            # imm = 0x200
addq -0x8(%rcx), %rax
movq -0x10(%rax), %rax
cmpl $0x0, (%rax)
jne 0x2d75a
incq 0x12f0(%rsi)
movq %rbx, %rdi
callq 0x2e1f0
movq %rbx, %rax
addq $0x30, %rsp
popq %rbx
popq %r14
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0x2566(%rip), %rsi      # 0x2fcd2
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0x236b(%rip), %rsi      # 0x2faf0
leaq 0x253b(%rip), %rdx      # 0x2fcc7
pushq $0x4d
popq %rcx
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
callq 0x2cc64
xorl %ebp, %ebp
leaq 0xf5c3(%rip), %rsi      # 0x3cd68
leaq -0xe556(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x2d7cb
jmp 0x2d7d3
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
movq %r14, %rdi
callq 0x1b410
nop
// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::enterArray()
JsonPtr enterArray()
	{
		if (_wantKey || _wantSemicolon || _wantComma)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, '[' at improper place.");

		JsonPtr node(new Json());
		node->setArray();
		insertNode(node);
		_nodeStack.push(node);

		_wantKey = false;
		_wantValue = false;
		_wantComma = false;
		_wantSemicolon = false;

		_pos++;
		return nullptr;
	}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %rbx
subq $0x48, %rsp
cmpb $0x0, 0x12e8(%rsi)
jne 0x2d8b3
movq %rsi, %r14
cmpb $0x0, 0x12eb(%rsi)
jne 0x2d8b3
cmpb $0x1, 0x12ea(%r14)
je 0x2d8b3
movq %rdi, %rbx
pushq $0x10
popq %rdi
callq 0x1b290
movl $0x8, (%rax)
andq $0x0, 0x8(%rax)
leaq 0x8(%rsp), %r15
movq %r15, %rdi
movq %rax, %rsi
callq 0x2ab28
movq (%r15), %rdi
callq 0x26cb4
leaq 0x28(%rsp), %r15
leaq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x1efb8
leaq 0x38(%rsp), %rdi
movq %r14, %rsi
movq %r15, %rdx
callq 0x2cc7e
leaq 0x40(%rsp), %rdi
callq 0x1efec
leaq 0x30(%rsp), %rdi
callq 0x1efec
leaq 0x1278(%r14), %rdi
leaq 0x8(%rsp), %rsi
callq 0x2dfb2
andl $0x0, 0x12e8(%r14)
incq 0x12f0(%r14)
xorps %xmm0, %xmm0
movups %xmm0, (%rbx)
leaq 0x10(%rsp), %rdi
callq 0x1efec
movq %rbx, %rax
addq $0x48, %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0x244b(%rip), %rsi      # 0x2fd10
leaq 0x8(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0x2212(%rip), %rsi      # 0x2faf0
leaq 0x2420(%rip), %rdx      # 0x2fd05
pushq $0x56
popq %rcx
leaq 0x8(%rsp), %r8
movq %rbx, %rdi
callq 0x2cc64
xorl %ebp, %ebp
leaq 0xf46a(%rip), %rsi      # 0x3cd68
leaq -0xe6af(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
movq %rax, %r14
leaq 0x30(%rsp), %rdi
callq 0x1efec
jmp 0x2d940
movq %rax, %r14
leaq 0x8(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x2d933
jmp 0x2d94a
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
jmp 0x2d94a
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1efec
movq %r14, %rdi
callq 0x1b410