{# The children of the container node `node` (a pointer expression) of the document `doc` (a document_data pointer expression). A node is only an index into the source text: strings are read from `doc`, so the strings of the direct children are readable here, but the children of a nested container are shown as nodes (see the node visualizer below). Containers with edits (flag 8, "moved") are not expanded. The node kinds are the numbers of node_kind: 1 object, 2 array, 3 string; the float token is shown only by the node visualizer. #} {% macro children(node, doc=none) %} obj ? 2 * n : n {% if doc %} {{ doc }}->base._Elems[p->flags & 3] + p->off,[p->len]s8 {% else %} *p {% endif %} p = p + 1 {% if doc %} {{ doc }}->base._Elems[p->flags & 3] + p->off,[p->len]s8 {% endif %} *p {% if doc %} {{ doc }}->base._Elems[p->flags & 3] + p->off,[p->len]s8 {% endif %} *p p = p + (((int)p->kind == 1 || (int)p->kind == 2) ? p->next : 1) i = i + 1 {%- endmacro %} {% for ns in namespaces %} null {*(m_data.m_value.object)} {*(m_data.m_value.array)} {*(m_data.m_value.string)} {m_data.m_value.boolean} {m_data.m_value.number_integer} {m_data.m_value.number_unsigned} {m_data.m_value.number_float} discarded *(m_data.m_value.object),view(simple) *(m_data.m_value.array),view(simple) {second} second {% for default_base in ['json_default_base', 'detail::json_default_base'] %} null {*(m_data.m_value.object)} {*(m_data.m_value.array)} {*(m_data.m_value.string)} {m_data.m_value.boolean} {m_data.m_value.number_integer} {m_data.m_value.number_unsigned} {m_data.m_value.number_float} discarded *(m_data.m_value.object),view(simple) *(m_data.m_value.array),view(simple) {% endfor %} null object, size={len} array, size={len} string, length={len} {(flags & 4) != 0} {(__int64)((unsigned __int64)len | ((unsigned __int64)next << 32))} {(unsigned __int64)len | ((unsigned __int64)next << 32)} float, length={len} link {{ children('this') }} discarded {m_doc->base._Elems[m_node->flags & 3] + m_node->off,[m_node->len]s8} {m_doc->base._Elems[m_node->flags & 3] + m_node->off,[m_node->len]s8b} {*m_node} {{ children('m_node', 'm_doc') }} discarded {*m_data._Mypair._Myval2->nodes} m_data._Mypair._Myval2->src,[m_data._Mypair._Myval2->size]s8b m_data._Mypair._Myval2->node_count {{ children('m_data._Mypair._Myval2->nodes', 'm_data._Mypair._Myval2') }} {% endfor %}