MCPcopy Create free account
hub / github.com/boostorg/json / check_ref

Method check_ref

test/visit.cpp:220–266  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

218
219 template<class ValueRef, class T>
220 static
221 void
222 check_ref(
223 kind k,
224 T t,
225 boost::source_location const& loc = BOOST_CURRENT_LOCATION)
226 {
227 using Visitor = visitor_checker<ValueRef>;
228 using VisitorRef = typename Visitor::self_ref;
229 Visitor v = {};
230
231 value jv(t);
232 auto pr1 = visit(
233 static_cast<VisitorRef>(v), static_cast<ValueRef>(jv) );
234 auto pr2 = visit(
235 static_cast<VisitorRef>(v), static_cast<ValueRef>(jv) );
236 BOOST_TEST(pr1 == pr2, loc);
237 BOOST_TEST(k == pr1.first, loc);
238 switch(k)
239 {
240 case json::kind::array:
241 BOOST_TEST( pr1.second == jv.if_array(), loc );
242 break;
243 case json::kind::object:
244 BOOST_TEST( pr1.second == jv.if_object(), loc );
245 break;
246 case json::kind::string:
247 BOOST_TEST( pr1.second == jv.if_string(), loc );
248 break;
249 case json::kind::double_:
250 BOOST_TEST( pr1.second == jv.if_double(), loc );
251 break;
252 case json::kind::int64:
253 BOOST_TEST( pr1.second == jv.if_int64(), loc );
254 break;
255 case json::kind::uint64:
256 BOOST_TEST( pr1.second == jv.if_uint64(), loc );
257 break;
258 case json::kind::bool_:
259 BOOST_TEST( pr1.second == jv.if_bool(), loc );
260 break;
261 case json::kind::null:
262 break;
263 default:
264 BOOST_TEST_FAIL(loc);
265 }
266 }
267
268 template<class T>
269 void

Callers

nothing calls this directly

Calls 8

visitFunction · 0.85
if_arrayMethod · 0.80
if_objectMethod · 0.80
if_stringMethod · 0.80
if_doubleMethod · 0.80
if_int64Method · 0.80
if_uint64Method · 0.80
if_boolMethod · 0.80

Tested by

no test coverage detected