31 #ifndef GOOGLE_PROTOBUF_UTIL_CONVERTER_STRUCTURED_OBJECTWRITER_H__
32 #define GOOGLE_PROTOBUF_UTIL_CONVERTER_STRUCTURED_OBJECTWRITER_H__
40 #include <google/protobuf/port_def.inc>
72 : parent_(parent), level_(parent ==
NULL ? 0 : parent->
level() + 1) {}
76 template <
typename ElementType>
78 return down_cast<ElementType*>(parent_.release());
82 bool is_root()
const {
return parent_ ==
nullptr; }
85 int level()
const {
return level_; }
105 virtual BaseElement* element() = 0;
117 #include <google/protobuf/port_undef.inc>
119 #endif // GOOGLE_PROTOBUF_UTIL_CONVERTER_STRUCTURED_OBJECTWRITER_H__