cppPointerType.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. // Filename: cppPointerType.h
  2. // Created by: drose (19Oct99)
  3. //
  4. ////////////////////////////////////////////////////////////////////
  5. // Copyright (C) 1992,93,94,95,96,97 Walt Disney Imagineering, Inc.
  6. //
  7. // These coded instructions, statements, data structures and
  8. // computer programs contain unpublished proprietary information of
  9. // Walt Disney Imagineering and are protected by Federal copyright
  10. // law. They may not be disclosed to third parties or copied or
  11. // duplicated in any form, in whole or in part, without the prior
  12. // written consent of Walt Disney Imagineering Inc.
  13. ////////////////////////////////////////////////////////////////////
  14. #ifndef CPPPOINTERTYPE_H
  15. #define CPPPOINTERTYPE_H
  16. #include <dtoolbase.h>
  17. #include "cppType.h"
  18. ///////////////////////////////////////////////////////////////////
  19. // Class : CPPPointerType
  20. // Description :
  21. ////////////////////////////////////////////////////////////////////
  22. class CPPPointerType : public CPPType {
  23. public:
  24. CPPPointerType(CPPType *pointing_at);
  25. CPPType *_pointing_at;
  26. virtual bool is_fully_specified() const;
  27. virtual CPPDeclaration *substitute_decl(SubstDecl &subst,
  28. CPPScope *current_scope,
  29. CPPScope *global_scope);
  30. virtual CPPType *resolve_type(CPPScope *current_scope,
  31. CPPScope *global_scope);
  32. virtual bool is_tbd() const;
  33. virtual bool is_equivalent(const CPPType &other) const;
  34. virtual void output(ostream &out, int indent_level, CPPScope *scope,
  35. bool complete) const;
  36. virtual void output_instance(ostream &out, int indent_level,
  37. CPPScope *scope,
  38. bool complete, const string &prename,
  39. const string &name) const;
  40. virtual SubType get_subtype() const;
  41. virtual CPPPointerType *as_pointer_type();
  42. protected:
  43. virtual bool is_equal(const CPPDeclaration *other) const;
  44. virtual bool is_less(const CPPDeclaration *other) const;
  45. };
  46. #endif