void Print(Reader r, int depth) { while(r.Next()) { std::cout << std::setw(depth * 2) << ' ' << StaticName::ToString(r.Type()) << std::endl; Print(r.Follow(), depth + 1); } std::cout << std::setw(depth * 2) << ' ' << r.BytesLeft() << ": "; PrintHex(r.Data(), r.BytesLeft()); std::cout << std::endl; }