2
0

CmKeyValuepair.h 822 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include "CmPrerequisitesUtil.h"
  3. #include "CmIReflectable.h"
  4. #include "CmRTTIType.h"
  5. namespace CamelotFramework
  6. {
  7. template <typename Key, typename Value, typename RTTIClass>
  8. class KeyValuePair : public IReflectable
  9. {
  10. public:
  11. KeyValuePair() {}
  12. KeyValuePair(const Key& key, const Value& value)
  13. :mKey(key), mValue(value)
  14. { }
  15. Key mKey;
  16. Value mValue;
  17. /************************************************************************/
  18. /* RTTI */
  19. /************************************************************************/
  20. public:
  21. static RTTITypeBase* getRTTIStatic()
  22. {
  23. return RTTIClass::instance();
  24. }
  25. virtual RTTITypeBase* getRTTI() const
  26. {
  27. return KeyValuePair<Key, Value, RTTIClass>::getRTTIStatic();
  28. }
  29. };
  30. }