Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

VariableScope.h

00001 // See the file LICENSE in the some directory as this file for legal
00002 // notices about this software.
00003 #ifndef DEV_W3_ORG__2001_BLINDFOLD_SRC_VARIABLESCOPE_H
00004 #define DEV_W3_ORG__2001_BLINDFOLD_SRC_VARIABLESCOPE_H
00005 // $Id: VariableScope_8h-source.html,v 1.5 2001/10/10 20:40:58 sandro Exp $
00006 #include "config.h"
00007 class Symbol;
00008 #include "Triple.h"
00009 
00013 class VariableScope {
00014       
00015 public:
00016 
00017     // STANDARD MEMBER FUNCTIONS
00018     VariableScope();
00019     VariableScope(const VariableScope& other);
00020     const VariableScope& operator=(const VariableScope& other);
00021     bool operator==(const VariableScope& other) const;
00022     bool operator<(const VariableScope& other) const;
00023     size_t hash() const;
00024     friend std::ostream& operator<<(std::ostream& s, const VariableScope& me);
00025     virtual std::ostream& print_to(std::ostream& stream) const = 0; 
00026     virtual ~VariableScope();       
00027 
00028     // (RE)IMPLEMENTATION OF INHERITED MEMBERS
00029 
00030     // CLASS-SPECIFIC PUBLIC INTERFACE
00031 
00032     // access to some local storage detailing what variables we have.
00033     // it's better to store them here than in the Symbol tables, since
00034     // their name is locally getScope()d here, and we want to find all of
00035     // "our" ones easily.  It may make for some nice Rule
00036     // implementations, too.
00037 
00041     virtual size_t getNumVars() const { NOT_IMPLEMENTED }
00045     virtual Symbol getVar(size_t index) const { NOT_IMPLEMENTED }
00049     virtual Symbol getVar(const char* name, bool* added_ptr=0) { NOT_IMPLEMENTED }
00054     virtual size_t getVarIndex(const char* name) { NOT_IMPLEMENTED }
00055     
00058     virtual bool contains(const Triple& t) const { NOT_IMPLEMENTED }
00059 
00060 private:
00061 
00062 };     
00063 
00064 STANDARD_EXTERNAL(VariableScope)
00065 
00066 #endif  /* DEV_W3_ORG__2001_BLINDFOLD_SRC_VARIABLESCOPE_H */   // -*-C++-*-
00067 

Home to blindfold. This page generated via doxygen 1.2.11.1 Wed Oct 10 16:40:33 2001.