| foreachobject : output |
Output the block to the stream.
Any other method of any other object can call this method. This is called 'public' access.
The data-type returned is "voidtype";
This method is contained in the object "foreachobject".
The method takes the following arguments:
filedef : Pointer to tgl_structure_parser
Not sure.
obj : Pointer to @schemaobj
Not sure.
This method is overridden from an abstract method with the same signature found in the object @block.
The files "../cppxmlobj/reflect/jscript_object_navigator.hpp", "tgl_foreachobject_visitor.hpp", "schema/schema_obj.hpp" and "tgl_structure_parser.hpp" are included.
Visit each object, outputing the structure each time.
xmlobj::xmlobj *o = obj;
if (_location != "")
{
ph::reflect::jscript_object_navigator n(obj->root(), filedef->console(), false, false);
ph::common::object_base *no = n.navigate(o, _location);
if (!no)
{
filedef->error("Could not find location [" + _location + "] in object.");
return;
}
o = dynamic_cast<xmlobj::xmlobj *>(no);
if (!o)
{
filedef->error("Internal error. How could the object returned not be an xmlobj?.");
return;
}
}
// use a visitor to visit all sub-objects, parseing each one.
tgl_foreachobject_visitor visitor(this, filedef, o);
o->accept(&visitor);