cppClassTemplateParameter.h 1.1 KB

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