cppClassTemplateParameter.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. // Filename: cppClassTemplateParameter.h
  2. // Created by: drose (28Oct99)
  3. //
  4. ////////////////////////////////////////////////////////////////////
  5. //
  6. // PANDA 3D SOFTWARE
  7. // Copyright (c) Carnegie Mellon University. All rights reserved.
  8. //
  9. // All use of this software is subject to the terms of the revised BSD
  10. // license. You should have received a copy of this license along
  11. // with this source code in a file named "LICENSE."
  12. //
  13. ////////////////////////////////////////////////////////////////////
  14. #ifndef CPPCLASSTEMPLATEPARAMETER_H
  15. #define CPPCLASSTEMPLATEPARAMETER_H
  16. #include "dtoolbase.h"
  17. #include "cppType.h"
  18. class CPPIdentifier;
  19. ///////////////////////////////////////////////////////////////////
  20. // Class : CPPClassTemplateParameter
  21. // Description :
  22. ////////////////////////////////////////////////////////////////////
  23. class CPPClassTemplateParameter : public CPPType {
  24. public:
  25. CPPClassTemplateParameter(CPPIdentifier *ident,
  26. CPPType *default_type = NULL);
  27. virtual bool is_fully_specified() const;
  28. virtual void output(ostream &out, int indent_level, CPPScope *scope,
  29. bool complete) const;
  30. virtual SubType get_subtype() const;
  31. virtual CPPClassTemplateParameter *as_class_template_parameter();
  32. CPPIdentifier *_ident;
  33. CPPType *_default_type;
  34. protected:
  35. virtual bool is_equal(const CPPDeclaration *other) const;
  36. virtual bool is_less(const CPPDeclaration *other) const;
  37. };
  38. #endif