TypeNamesGenerator.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #ifndef _TYPE_NAMES_GENERATOR_
  2. #define _TYPE_NAMES_GENERATOR_
  3. #include <fastrtps/fastrtps_dll.h>
  4. #include <string>
  5. #include <vector>
  6. namespace eprosima {
  7. namespace fastrtps {
  8. namespace types {
  9. class TypeNamesGenerator
  10. {
  11. public:
  12. RTPS_DllAPI static std::string get_string_type_name(
  13. uint32_t bound,
  14. bool wide,
  15. bool generate_identifier = true);
  16. RTPS_DllAPI static std::string get_sequence_type_name(
  17. const std::string& type_name,
  18. uint32_t bound,
  19. bool generate_identifier = true);
  20. RTPS_DllAPI static std::string get_array_type_name(
  21. const std::string& type_name,
  22. const std::vector<uint32_t>& bound,
  23. bool generate_identifier = true);
  24. RTPS_DllAPI static std::string get_array_type_name(
  25. const std::string& type_name,
  26. const std::vector<uint32_t>& bound,
  27. uint32_t& ret_size,
  28. bool generate_identifier = true);
  29. RTPS_DllAPI static std::string get_map_type_name(
  30. const std::string& key_type_name,
  31. const std::string& value_type_name,
  32. uint32_t bound,
  33. bool generate_identifier = true);
  34. };
  35. } // namespace types
  36. } // namespace fastrtps
  37. } // namespace eprosima
  38. #endif //_TYPE_NAMES_GENERATOR_