| tgl_block_parser : do_block |
process a named block.
Any other method of any other object can call this method. This is called 'public' access.
The data-type returned is "booltype"; Not sure.
This method is contained in the object "tgl_block_parser".
The method takes the following arguments:
block : stringtype
The name of the block.
This method is overridden from an abstract method with the same signature found in the object tgl_structure_parser.
The files "tgl_structure_parser.hpp", "tgl_block.hpp", "tgl_block_parser.hpp" and "schema/schema_obj.hpp" are included.
Search the tree of blocks until we find a null parent or we find a block with the name.
tgl_block *b = _tglobj->get_block(block);
schema::schema_obj *o = _obj;
if (!b)
{
tgl_obj *p = dynamic_cast<tgl_obj *>(_tglobj->parent());
o = dynamic_cast<schema::schema_obj *>(o->parent());
while (p && !b)
{
b = p->get_block(block);
if (!b)
{
p = dynamic_cast<tgl_obj *>(p->parent());
o = dynamic_cast<schema::schema_obj *>(o->parent());
}
}
}
if (b)
{
if (b->pass(this, o, _first, _last))
b->output(this, o);
return true;
}
error("block parser could not find block [" + block + "].");
return false;