319 typedef std::deque<std::pair<const PVField*, size_t> > todo_t;
327 show = *format.xshow;
331 if(format.xhighlight)
332 highlight = *format.xhighlight;
334 expandBS(format.xtop, show,
true);
335 expandBS(format.xtop, highlight,
false);
339 if(!show.
get(0))
return;
341 todo.push_front(std::make_pair(&format.xtop, orig_indent));
343 while(!todo.empty()) {
344 todo_t::value_type cur(todo.front());
353 switch(cur.first->
getField()->getType()) {
359 for(PVFieldPtrArray::const_reverse_iterator it(flds.rbegin()), end(flds.rend()); it!=end; ++it) {
360 const PVField *fld = (*it).get();
363 todo.push_front(std::make_pair(fld, cur.second+1));
366 std::string id(cur.first->
getField()->getID());
371 printAlarmTx(strm, *str);
372 }
else if(
id==
"time_t") {
374 printTimeTx(strm, *str);
375 }
else if(
id==
"enum_t") {
377 printEnumT(strm, *str,
false);
const std::string & getFieldName() const
const PVFieldPtrArray & getPVFields() const
bool get(uint32 bitIndex) const
const FieldConstPtr & getField() const
PVField is the base class for each PVData field.
std::size_t getFieldOffset() const
std::vector< PVFieldPtr > PVFieldPtrArray
Data interface for a structure,.
BitSet & set(uint32 bitIndex)