| 974 | |
| 975 | |
| 976 | void |
| 977 | usingSetAtPointer() |
| 978 | { |
| 979 | // tag::snippet_pointer_4[] |
| 980 | value jv; |
| 981 | jv.set_at_pointer("/two/bar/0", 12); |
| 982 | assert( jv.is_object() ); |
| 983 | assert( jv.at_pointer("/two").is_object() ); |
| 984 | assert( jv.at_pointer("/two/bar").is_array() ); |
| 985 | assert( jv.at_pointer("/two/bar/0") == 12 ); |
| 986 | // end::snippet_pointer_4[] |
| 987 | |
| 988 | jv = nullptr; |
| 989 | // tag::snippet_pointer_5[] |
| 990 | set_pointer_options opts; |
| 991 | opts.create_arrays = false; |
| 992 | |
| 993 | jv.set_at_pointer("/two/bar/0", 12, opts); |
| 994 | assert( jv.is_object() ); |
| 995 | assert( jv.at_pointer("/two").is_object() ); |
| 996 | assert( jv.at_pointer("/two/bar").is_object() ); // object, not array |
| 997 | assert( jv.at_pointer("/two/bar/0") == 12 ); |
| 998 | // end::snippet_pointer_5[] |
| 999 | } |
| 1000 | |
| 1001 | BOOST_CORE_STATIC_ASSERT( has_value_from<customer>::value ); |
| 1002 | BOOST_CORE_STATIC_ASSERT( has_value_from<user_ns2::ip_address>::value ); |