]>
git.proxmox.com Git - ceph.git/blob - ceph/src/s3select/rapidjson/example/traverseaspointer.cpp
1 #include "rapidjson/document.h"
2 #include "rapidjson/filereadstream.h"
3 #include "rapidjson/pointer.h"
4 #include "rapidjson/stringbuffer.h"
7 using namespace rapidjson
;
9 void traverse(const Value
& v
, const Pointer
& p
) {
12 std::cout
<< sb
.GetString() << std::endl
;
14 switch (v
.GetType()) {
16 for (SizeType i
= 0; i
!= v
.Size(); ++i
)
17 traverse(v
[i
], p
.Append(i
));
20 for (Value::ConstMemberIterator m
= v
.MemberBegin(); m
!= v
.MemberEnd(); ++m
)
21 traverse(m
->value
, p
.Append(m
->name
.GetString(), m
->name
.GetStringLength()));
28 int main(int, char*[]) {
29 char readBuffer
[65536];
30 FileReadStream
is(stdin
, readBuffer
, sizeof(readBuffer
));