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

iokernel/walker.h

This is the verbatim text of the walker.h include file.
#ifndef SUIFKERNEL__WALKER_H__
#define SUIFKERNEL__WALKER_H__

#include "iokernel_forwarders.h"









class Walker {
  
 public:
  
  
  enum ApplyStatus {
    
    Continue,
    
    
    Stop,
    
    
    Abort,
    
    
    Truncate,
    
    
    Replaced
  }; // enum ApplyStatus
	  
  Walker(SuifEnv *the_env);

  
  virtual ApplyStatus operator () (Address address,
				   const MetaClass *_meta) = 0;

  
  virtual bool is_walkable(Address address,
			   bool is_owned,
			   const MetaClass *_meta);

  
  virtual bool is_visitable(Address address,
			    const MetaClass *_meta) const;

  
  void set_post_order();

  
  void set_pre_order();
			   
  
  bool get_is_pre_order() const;
  
  void set_address(Address new_address);

  Address get_address() const;
  
  SuifEnv *get_env() const;
  
  void set_parent(Address addr);
  
  Address get_parent() const;
  
 private:
  SuifEnv *_env;
  bool _is_pre_order;
  Address _address;
  Address _parent;
  
};

#endif


Generated at Mon Nov 22 19:43:56 1999 for NCI SUIF by doxygen  written by Dimitri van Heesch, © 1997-1999