Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

VisitorMap Class Reference

dynamically-dispatched visitor for SuifObject objects. More...

#include <suifkernel/visitor_map.h>

List of all members.

Public Members


Detailed Description

dynamically-dispatched visitor for SuifObject objects.

A dynamically-constructed visitor for SuifObjects, which dispatches on the most specific

VisitorMap example
To use this visitor map:

 // Write your visitor state class

 class MyVisitorInfo {
   static void do_static_procedure_definition( MyVisitorInfo *info,
                                               ProcedureDefinition *obj ) {
       info->do_procedure_definition(obj);
   }
   void do_procedure_definition(ProcedureDefinition *proc_def) {
     ...do_something...
   }
 }
 // register the visitor functions
 VisitorMap *map = new VisitorMap(suif_env);
 MyVisitorClass my_info;
 map->registerVisitMethod( &myinfo, 
                           &MyVisitorClass::do_static_procedure_definition,
                           ProcedureDefinition::get_class_name() );
 // Pick an object:
 //  SuifObject *so;
 map->apply(so);

Member Function Documentation

VisitorMap::VisitorMap (SuifEnv * suif)

VisitorMap::~VisitorMap ()

void VisitorMap::register_visit_method (Address state, VisitMethod visitMethod, const LString & className)

void VisitorMap::register_unknown_method (Address state, VisitMethod visitMethod)

void VisitorMap::apply (Object * object)

void VisitorMap::apply (Object * object, const MetaClass * metaClass)

void VisitorMap::register_visit_method (Address state, VisitMethod visitMethod, MetaClass * mc)


The documentation for this class was generated from the following file:
Generated at Mon Nov 22 19:43:55 1999 for NCI SUIF by doxygen  written by Dimitri van Heesch, © 1997-1999