Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

defpm.h

Go to the documentation of this file.
00001 
00002 //
00003 //  Borland C++ 5.0, GNU C++ 3.0
00004 //  Compiler Backend Library
00005 //  $Id: defpm_8h-source.html,v 1.1 2002/07/18 14:58:45 cparpart Exp $
00006 //
00007 //  Copyright (c) 2000-2002 SurakWare Corp.
00008 //
00010 #ifndef sw_cbl_codetree_defpm_h
00011 #define sw_cbl_codetree_defpm_h
00012 
00013 #include 
00014 
00015 namespace cbl {
00016 namespace codetree {
00017 namespace def {
00018 
00019 class TClassDef;
00020 class TMethodDef;
00021 
00022 template<class T> class TMemberPointerDef : public TCompositeDef {
00023 private:
00024     typedef TCompositeDef base_class;
00025 
00026     TClassDef *FBaseClass;
00027 
00028 protected:
00029     TMemberPointerDef(symbols::TModuleSym *AOwner, TClassDef *ABaseClass, T *APointer);
00030 
00031     friend class symbols::TModuleSym;
00032 
00033 public:
00034     // size
00035     virtual unsigned size() const;
00036 
00037     const TClassDef *baseClass() const;
00038 };
00039 
00040 // TDataMemberPointerDef
00041 class TDataMemberPointerDef : public TMemberPointerDef {
00042 private:
00043     typedef TMemberPointerDef base_class;
00044 
00045 public:
00046     TDataMemberPointerDef(symbols::TModuleSym *AOwner, TClassDef *ABaseClass, TDef *APointer);
00047 
00048     // visitor pattern
00049     virtual void accept(TDefVisitor&);
00050 
00051     // object cloning
00052     virtual TDataMemberPointerDef *clone() const;
00053 };
00054 
00055 // TMethodMemberPointerDef
00056 class TMethodMemberPointerDef : public TMemberPointerDef {
00057 private:
00058     typedef TMemberPointerDef base_class;
00059 
00060 public:
00061     TMethodMemberPointerDef(symbols::TModuleSym *AOwner, TClassDef *ABaseClass, TMethodDef *APointer);
00062 
00063     // visitor pattern
00064     virtual void accept(TDefVisitor&);
00065 
00066     // object cloning
00067     virtual TMethodMemberPointerDef *clone() const;
00068 };
00069 
00070 } // namespace def
00071 } // namespace codetree
00072 } // namespace cbl
00073 
00074 #endif

Generated on Sat Apr 6 19:07:25 2002 for Compiler Backend Library by doxygen1.2.14 written by , © 1997-2002