File indexing completed on 2025-01-18 09:38:58
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef BOOST_JSON_DETAIL_IMPL_HANDLER_HPP
0011 #define BOOST_JSON_DETAIL_IMPL_HANDLER_HPP
0012
0013 #include <boost/json/detail/handler.hpp>
0014 #include <utility>
0015
0016 namespace boost {
0017 namespace json {
0018 namespace detail {
0019
0020 template<class... Args>
0021 handler::
0022 handler(Args&&... args)
0023 : st(std::forward<Args>(args)...)
0024 {
0025 }
0026
0027 bool
0028 handler::
0029 on_document_begin(
0030 error_code&)
0031 {
0032 return true;
0033 }
0034
0035 bool
0036 handler::
0037 on_document_end(
0038 error_code&)
0039 {
0040 return true;
0041 }
0042
0043 bool
0044 handler::
0045 on_object_begin(
0046 error_code&)
0047 {
0048 return true;
0049 }
0050
0051 bool
0052 handler::
0053 on_object_end(
0054 std::size_t n,
0055 error_code&)
0056 {
0057 st.push_object(n);
0058 return true;
0059 }
0060
0061 bool
0062 handler::
0063 on_array_begin(
0064 error_code&)
0065 {
0066 return true;
0067 }
0068
0069 bool
0070 handler::
0071 on_array_end(
0072 std::size_t n,
0073 error_code&)
0074 {
0075 st.push_array(n);
0076 return true;
0077 }
0078
0079 bool
0080 handler::
0081 on_key_part(
0082 string_view s,
0083 std::size_t,
0084 error_code&)
0085 {
0086 st.push_chars(s);
0087 return true;
0088 }
0089
0090 bool
0091 handler::
0092 on_key(
0093 string_view s,
0094 std::size_t,
0095 error_code&)
0096 {
0097 st.push_key(s);
0098 return true;
0099 }
0100
0101 bool
0102 handler::
0103 on_string_part(
0104 string_view s,
0105 std::size_t,
0106 error_code&)
0107 {
0108 st.push_chars(s);
0109 return true;
0110 }
0111
0112 bool
0113 handler::
0114 on_string(
0115 string_view s,
0116 std::size_t,
0117 error_code&)
0118 {
0119 st.push_string(s);
0120 return true;
0121 }
0122
0123 bool
0124 handler::
0125 on_number_part(
0126 string_view,
0127 error_code&)
0128 {
0129 return true;
0130 }
0131
0132 bool
0133 handler::
0134 on_int64(
0135 std::int64_t i,
0136 string_view,
0137 error_code&)
0138 {
0139 st.push_int64(i);
0140 return true;
0141 }
0142
0143 bool
0144 handler::
0145 on_uint64(
0146 std::uint64_t u,
0147 string_view,
0148 error_code&)
0149 {
0150 st.push_uint64(u);
0151 return true;
0152 }
0153
0154 bool
0155 handler::
0156 on_double(
0157 double d,
0158 string_view,
0159 error_code&)
0160 {
0161 st.push_double(d);
0162 return true;
0163 }
0164
0165 bool
0166 handler::
0167 on_bool(
0168 bool b,
0169 error_code&)
0170 {
0171 st.push_bool(b);
0172 return true;
0173 }
0174
0175 bool
0176 handler::
0177 on_null(error_code&)
0178 {
0179 st.push_null();
0180 return true;
0181 }
0182
0183 bool
0184 handler::
0185 on_comment_part(
0186 string_view,
0187 error_code&)
0188 {
0189 return true;
0190 }
0191
0192 bool
0193 handler::
0194 on_comment(
0195 string_view, error_code&)
0196 {
0197 return true;
0198 }
0199
0200 }
0201 }
0202 }
0203
0204 #endif