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

suifkernel/suif_object.h

This is the verbatim text of the suif_object.h include file.
#ifndef SUIFKERNEL__SUIF_OBJECT_H
#define SUIFKERNEL__SUIF_OBJECT_H

#include "iokernel/object.h"
#include "iokernel/walker.h"

#include "suifkernel_forwarders.h"



class SuifObject : public Object {
  friend class SuifEnv;
public:

  
  virtual SuifObject* deep_clone( SuifEnv* suif_env = 0 ) const;
  
  virtual SuifObject* shallow_clone( SuifEnv* suif_env = 0 ) const;

  
  virtual SuifObject* get_parent() const;

  
  virtual void set_parent( SuifObject* object );

  
  virtual ObjectFactory* get_object_factory() const;

  
  virtual SuifEnv* get_suif_env() const;
  
  virtual void print_to_default() const; // for debugging

  
  virtual void print( ostream& output ) const;

  
  virtual String print_to_string() const;

  
  virtual int replace( SuifObject* original,
		       SuifObject* new_object,
                       bool fuse_if_possible = false );

  
  virtual void verify_invariants( ErrorSubSystem* message_destination );

  
  virtual void print(FormattedText &x) const;

  static const LString &get_class_name();

  virtual Walker::ApplyStatus walk(Walker &walk);

protected:
  SuifObject();
  static void constructorFunction( Address instance );

private:
  SuifObject* parent;
private:
  SuifObject(const SuifObject &);
  SuifObject& operator=(const SuifObject &);

};



int printobj(SuifObject *obj);

// return true if an object with this meta class is a subclass
// of SuifObject
bool is_kind_of_suif_object_meta_class(const MetaClass *mc);

#endif

Generated at Wed Apr 25 17:35:07 2001 for NCI SUIF by doxygen  written by Dimitri van Heesch, © 1997-1999