Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
畅游知识海洋
json
提交
973402c1
J
json
项目概览
畅游知识海洋
/
json
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
json
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
973402c1
编写于
2月 15, 2017
作者:
N
Niels Lohmann
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
🚧
replaced throws (#440) and _MAX/_MIN macros (#451)
上级
b9f31494
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
58 addition
and
58 deletion
+58
-58
src/json.hpp
src/json.hpp
+29
-29
src/json.hpp.re2c
src/json.hpp.re2c
+29
-29
未找到文件。
src/json.hpp
浏览文件 @
973402c1
...
...
@@ -3149,8 +3149,8 @@ class basic_json
return
*
ptr
;
}
throw
std
::
domain_error
(
"incompatible ReferenceType for get_ref, actual type is "
+
obj
.
type_name
(
));
JSON_THROW
(
std
::
domain_error
(
"incompatible ReferenceType for get_ref, actual type is "
+
obj
.
type_name
()
));
}
public:
...
...
@@ -6712,25 +6712,25 @@ class basic_json
// positive fixnum
add_to_vector
(
v
,
1
,
j
.
m_value
.
number_unsigned
);
}
else
if
(
j
.
m_value
.
number_unsigned
<=
UINT8_MAX
)
else
if
(
j
.
m_value
.
number_unsigned
<=
std
::
numeric_limits
<
uint8_t
>::
max
()
)
{
// uint 8
v
.
push_back
(
0xcc
);
add_to_vector
(
v
,
1
,
j
.
m_value
.
number_unsigned
);
}
else
if
(
j
.
m_value
.
number_unsigned
<=
UINT16_MAX
)
else
if
(
j
.
m_value
.
number_unsigned
<=
std
::
numeric_limits
<
uint16_t
>::
max
()
)
{
// uint 16
v
.
push_back
(
0xcd
);
add_to_vector
(
v
,
2
,
j
.
m_value
.
number_unsigned
);
}
else
if
(
j
.
m_value
.
number_unsigned
<=
UINT32_MAX
)
else
if
(
j
.
m_value
.
number_unsigned
<=
std
::
numeric_limits
<
uint32_t
>::
max
()
)
{
// uint 32
v
.
push_back
(
0xce
);
add_to_vector
(
v
,
4
,
j
.
m_value
.
number_unsigned
);
}
else
if
(
j
.
m_value
.
number_unsigned
<=
UINT64_MAX
)
else
if
(
j
.
m_value
.
number_unsigned
<=
std
::
numeric_limits
<
uint64_t
>::
max
()
)
{
// uint 64
v
.
push_back
(
0xcf
);
...
...
@@ -6744,25 +6744,25 @@ class basic_json
// negative fixnum
add_to_vector
(
v
,
1
,
j
.
m_value
.
number_integer
);
}
else
if
(
j
.
m_value
.
number_integer
>=
INT8_MIN
and
j
.
m_value
.
number_integer
<=
INT8_MAX
)
else
if
(
j
.
m_value
.
number_integer
>=
std
::
numeric_limits
<
int8_t
>::
min
()
and
j
.
m_value
.
number_integer
<=
std
::
numeric_limits
<
int8_t
>::
max
()
)
{
// int 8
v
.
push_back
(
0xd0
);
add_to_vector
(
v
,
1
,
j
.
m_value
.
number_integer
);
}
else
if
(
j
.
m_value
.
number_integer
>=
INT16_MIN
and
j
.
m_value
.
number_integer
<=
INT16_MAX
)
else
if
(
j
.
m_value
.
number_integer
>=
std
::
numeric_limits
<
int16_t
>::
min
()
and
j
.
m_value
.
number_integer
<=
std
::
numeric_limits
<
int16_t
>::
max
()
)
{
// int 16
v
.
push_back
(
0xd1
);
add_to_vector
(
v
,
2
,
j
.
m_value
.
number_integer
);
}
else
if
(
j
.
m_value
.
number_integer
>=
INT32_MIN
and
j
.
m_value
.
number_integer
<=
INT32_MAX
)
else
if
(
j
.
m_value
.
number_integer
>=
std
::
numeric_limits
<
int32_t
>::
min
()
and
j
.
m_value
.
number_integer
<=
std
::
numeric_limits
<
int32_t
>::
max
()
)
{
// int 32
v
.
push_back
(
0xd2
);
add_to_vector
(
v
,
4
,
j
.
m_value
.
number_integer
);
}
else
if
(
j
.
m_value
.
number_integer
>=
INT64_MIN
and
j
.
m_value
.
number_integer
<=
INT64_MAX
)
else
if
(
j
.
m_value
.
number_integer
>=
std
::
numeric_limits
<
int64_t
>::
min
()
and
j
.
m_value
.
number_integer
<=
std
::
numeric_limits
<
int64_t
>::
max
()
)
{
// int 64
v
.
push_back
(
0xd3
);
...
...
@@ -6779,25 +6779,25 @@ class basic_json
// positive fixnum
add_to_vector
(
v
,
1
,
j
.
m_value
.
number_unsigned
);
}
else
if
(
j
.
m_value
.
number_unsigned
<=
UINT8_MAX
)
else
if
(
j
.
m_value
.
number_unsigned
<=
std
::
numeric_limits
<
uint8_t
>::
max
()
)
{
// uint 8
v
.
push_back
(
0xcc
);
add_to_vector
(
v
,
1
,
j
.
m_value
.
number_unsigned
);
}
else
if
(
j
.
m_value
.
number_unsigned
<=
UINT16_MAX
)
else
if
(
j
.
m_value
.
number_unsigned
<=
std
::
numeric_limits
<
uint16_t
>::
max
()
)
{
// uint 16
v
.
push_back
(
0xcd
);
add_to_vector
(
v
,
2
,
j
.
m_value
.
number_unsigned
);
}
else
if
(
j
.
m_value
.
number_unsigned
<=
UINT32_MAX
)
else
if
(
j
.
m_value
.
number_unsigned
<=
std
::
numeric_limits
<
uint32_t
>::
max
()
)
{
// uint 32
v
.
push_back
(
0xce
);
add_to_vector
(
v
,
4
,
j
.
m_value
.
number_unsigned
);
}
else
if
(
j
.
m_value
.
number_unsigned
<=
UINT64_MAX
)
else
if
(
j
.
m_value
.
number_unsigned
<=
std
::
numeric_limits
<
uint64_t
>::
max
()
)
{
// uint 64
v
.
push_back
(
0xcf
);
...
...
@@ -6954,19 +6954,19 @@ class basic_json
{
add_to_vector
(
v
,
1
,
j
.
m_value
.
number_integer
);
}
else
if
(
j
.
m_value
.
number_integer
<=
UINT8_MAX
)
else
if
(
j
.
m_value
.
number_integer
<=
std
::
numeric_limits
<
uint8_t
>::
max
()
)
{
v
.
push_back
(
0x18
);
// one-byte uint8_t
add_to_vector
(
v
,
1
,
j
.
m_value
.
number_integer
);
}
else
if
(
j
.
m_value
.
number_integer
<=
UINT16_MAX
)
else
if
(
j
.
m_value
.
number_integer
<=
std
::
numeric_limits
<
uint16_t
>::
max
()
)
{
v
.
push_back
(
0x19
);
// two-byte uint16_t
add_to_vector
(
v
,
2
,
j
.
m_value
.
number_integer
);
}
else
if
(
j
.
m_value
.
number_integer
<=
UINT32_MAX
)
else
if
(
j
.
m_value
.
number_integer
<=
std
::
numeric_limits
<
uint32_t
>::
max
()
)
{
v
.
push_back
(
0x1a
);
// four-byte uint32_t
...
...
@@ -6988,19 +6988,19 @@ class basic_json
{
v
.
push_back
(
static_cast
<
uint8_t
>
(
0x20
+
positive_number
));
}
else
if
(
positive_number
<=
UINT8_MAX
)
else
if
(
positive_number
<=
std
::
numeric_limits
<
uint8_t
>::
max
()
)
{
// int 8
v
.
push_back
(
0x38
);
add_to_vector
(
v
,
1
,
positive_number
);
}
else
if
(
positive_number
<=
UINT16_MAX
)
else
if
(
positive_number
<=
std
::
numeric_limits
<
uint16_t
>::
max
()
)
{
// int 16
v
.
push_back
(
0x39
);
add_to_vector
(
v
,
2
,
positive_number
);
}
else
if
(
positive_number
<=
UINT32_MAX
)
else
if
(
positive_number
<=
std
::
numeric_limits
<
uint32_t
>::
max
()
)
{
// int 32
v
.
push_back
(
0x3a
);
...
...
@@ -11788,9 +11788,9 @@ basic_json_parser_74:
if
(
reference_token
==
"-"
)
{
// "-" always fails the range check
throw
std
::
out_of_range
(
"array index '-' ("
+
std
::
to_string
(
ptr
->
m_value
.
array
->
size
())
+
") is out of range"
);
JSON_THROW
(
std
::
out_of_range
(
"array index '-' ("
+
std
::
to_string
(
ptr
->
m_value
.
array
->
size
())
+
") is out of range"
)
);
}
// error condition (cf. RFC 6901, Sect. 4)
...
...
@@ -11840,9 +11840,9 @@ basic_json_parser_74:
if
(
reference_token
==
"-"
)
{
// "-" cannot be used for const access
throw
std
::
out_of_range
(
"array index '-' ("
+
std
::
to_string
(
ptr
->
m_value
.
array
->
size
())
+
") is out of range"
);
JSON_THROW
(
std
::
out_of_range
(
"array index '-' ("
+
std
::
to_string
(
ptr
->
m_value
.
array
->
size
())
+
") is out of range"
)
);
}
// error condition (cf. RFC 6901, Sect. 4)
...
...
@@ -11884,9 +11884,9 @@ basic_json_parser_74:
if
(
reference_token
==
"-"
)
{
// "-" always fails the range check
throw
std
::
out_of_range
(
"array index '-' ("
+
std
::
to_string
(
ptr
->
m_value
.
array
->
size
())
+
") is out of range"
);
JSON_THROW
(
std
::
out_of_range
(
"array index '-' ("
+
std
::
to_string
(
ptr
->
m_value
.
array
->
size
())
+
") is out of range"
)
);
}
// error condition (cf. RFC 6901, Sect. 4)
...
...
src/json.hpp.re2c
浏览文件 @
973402c1
...
...
@@ -3149,8 +3149,8 @@ class basic_json
return *ptr;
}
throw
std::domain_error("incompatible ReferenceType for get_ref, actual type is " +
obj.type_name(
));
JSON_THROW(
std::domain_error("incompatible ReferenceType for get_ref, actual type is " +
obj.type_name()
));
}
public:
...
...
@@ -6712,25 +6712,25 @@ class basic_json
// positive fixnum
add_to_vector(v, 1, j.m_value.number_unsigned);
}
else if (j.m_value.number_unsigned <=
UINT8_MAX
)
else if (j.m_value.number_unsigned <=
std::numeric_limits<uint8_t>::max()
)
{
// uint 8
v.push_back(0xcc);
add_to_vector(v, 1, j.m_value.number_unsigned);
}
else if (j.m_value.number_unsigned <=
UINT16_MAX
)
else if (j.m_value.number_unsigned <=
std::numeric_limits<uint16_t>::max()
)
{
// uint 16
v.push_back(0xcd);
add_to_vector(v, 2, j.m_value.number_unsigned);
}
else if (j.m_value.number_unsigned <=
UINT32_MAX
)
else if (j.m_value.number_unsigned <=
std::numeric_limits<uint32_t>::max()
)
{
// uint 32
v.push_back(0xce);
add_to_vector(v, 4, j.m_value.number_unsigned);
}
else if (j.m_value.number_unsigned <=
UINT64_MAX
)
else if (j.m_value.number_unsigned <=
std::numeric_limits<uint64_t>::max()
)
{
// uint 64
v.push_back(0xcf);
...
...
@@ -6744,25 +6744,25 @@ class basic_json
// negative fixnum
add_to_vector(v, 1, j.m_value.number_integer);
}
else if (j.m_value.number_integer >=
INT8_MIN and j.m_value.number_integer <= INT8_MAX
)
else if (j.m_value.number_integer >=
std::numeric_limits<int8_t>::min() and j.m_value.number_integer <= std::numeric_limits<int8_t>::max()
)
{
// int 8
v.push_back(0xd0);
add_to_vector(v, 1, j.m_value.number_integer);
}
else if (j.m_value.number_integer >=
INT16_MIN and j.m_value.number_integer <= INT16_MAX
)
else if (j.m_value.number_integer >=
std::numeric_limits<int16_t>::min() and j.m_value.number_integer <= std::numeric_limits<int16_t>::max()
)
{
// int 16
v.push_back(0xd1);
add_to_vector(v, 2, j.m_value.number_integer);
}
else if (j.m_value.number_integer >=
INT32_MIN and j.m_value.number_integer <= INT32_MAX
)
else if (j.m_value.number_integer >=
std::numeric_limits<int32_t>::min() and j.m_value.number_integer <= std::numeric_limits<int32_t>::max()
)
{
// int 32
v.push_back(0xd2);
add_to_vector(v, 4, j.m_value.number_integer);
}
else if (j.m_value.number_integer >=
INT64_MIN and j.m_value.number_integer <= INT64_MAX
)
else if (j.m_value.number_integer >=
std::numeric_limits<int64_t>::min() and j.m_value.number_integer <= std::numeric_limits<int64_t>::max()
)
{
// int 64
v.push_back(0xd3);
...
...
@@ -6779,25 +6779,25 @@ class basic_json
// positive fixnum
add_to_vector(v, 1, j.m_value.number_unsigned);
}
else if (j.m_value.number_unsigned <=
UINT8_MAX
)
else if (j.m_value.number_unsigned <=
std::numeric_limits<uint8_t>::max()
)
{
// uint 8
v.push_back(0xcc);
add_to_vector(v, 1, j.m_value.number_unsigned);
}
else if (j.m_value.number_unsigned <=
UINT16_MAX
)
else if (j.m_value.number_unsigned <=
std::numeric_limits<uint16_t>::max()
)
{
// uint 16
v.push_back(0xcd);
add_to_vector(v, 2, j.m_value.number_unsigned);
}
else if (j.m_value.number_unsigned <=
UINT32_MAX
)
else if (j.m_value.number_unsigned <=
std::numeric_limits<uint32_t>::max()
)
{
// uint 32
v.push_back(0xce);
add_to_vector(v, 4, j.m_value.number_unsigned);
}
else if (j.m_value.number_unsigned <=
UINT64_MAX
)
else if (j.m_value.number_unsigned <=
std::numeric_limits<uint64_t>::max()
)
{
// uint 64
v.push_back(0xcf);
...
...
@@ -6954,19 +6954,19 @@ class basic_json
{
add_to_vector(v, 1, j.m_value.number_integer);
}
else if (j.m_value.number_integer <=
UINT8_MAX
)
else if (j.m_value.number_integer <=
std::numeric_limits<uint8_t>::max()
)
{
v.push_back(0x18);
// one-byte uint8_t
add_to_vector(v, 1, j.m_value.number_integer);
}
else if (j.m_value.number_integer <=
UINT16_MAX
)
else if (j.m_value.number_integer <=
std::numeric_limits<uint16_t>::max()
)
{
v.push_back(0x19);
// two-byte uint16_t
add_to_vector(v, 2, j.m_value.number_integer);
}
else if (j.m_value.number_integer <=
UINT32_MAX
)
else if (j.m_value.number_integer <=
std::numeric_limits<uint32_t>::max()
)
{
v.push_back(0x1a);
// four-byte uint32_t
...
...
@@ -6988,19 +6988,19 @@ class basic_json
{
v.push_back(static_cast<uint8_t>(0x20 + positive_number));
}
else if (positive_number <=
UINT8_MAX
)
else if (positive_number <=
std::numeric_limits<uint8_t>::max()
)
{
// int 8
v.push_back(0x38);
add_to_vector(v, 1, positive_number);
}
else if (positive_number <=
UINT16_MAX
)
else if (positive_number <=
std::numeric_limits<uint16_t>::max()
)
{
// int 16
v.push_back(0x39);
add_to_vector(v, 2, positive_number);
}
else if (positive_number <=
UINT32_MAX
)
else if (positive_number <=
std::numeric_limits<uint32_t>::max()
)
{
// int 32
v.push_back(0x3a);
...
...
@@ -10822,9 +10822,9 @@ class basic_json
if (reference_token == "-")
{
// "-" always fails the range check
throw
std::out_of_range("array index '-' (" +
std::to_string(ptr->m_value.array->size()) +
") is out of range"
);
JSON_THROW(
std::out_of_range("array index '-' (" +
std::to_string(ptr->m_value.array->size()) +
") is out of range")
);
}
// error condition (cf. RFC 6901, Sect. 4)
...
...
@@ -10874,9 +10874,9 @@ class basic_json
if (reference_token == "-")
{
// "-" cannot be used for const access
throw
std::out_of_range("array index '-' (" +
std::to_string(ptr->m_value.array->size()) +
") is out of range"
);
JSON_THROW(
std::out_of_range("array index '-' (" +
std::to_string(ptr->m_value.array->size()) +
") is out of range")
);
}
// error condition (cf. RFC 6901, Sect. 4)
...
...
@@ -10918,9 +10918,9 @@ class basic_json
if (reference_token == "-")
{
// "-" always fails the range check
throw
std::out_of_range("array index '-' (" +
std::to_string(ptr->m_value.array->size()) +
") is out of range"
);
JSON_THROW(
std::out_of_range("array index '-' (" +
std::to_string(ptr->m_value.array->size()) +
") is out of range")
);
}
// error condition (cf. RFC 6901, Sect. 4)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录