telemetry.cpp 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Copyright 2017 Citra Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #include <algorithm>
  5. #include "common/telemetry.h"
  6. namespace Telemetry {
  7. void FieldCollection::Accept(VisitorInterface& visitor) const {
  8. for (const auto& field : fields) {
  9. field.second->Accept(visitor);
  10. }
  11. }
  12. void FieldCollection::AddField(std::unique_ptr<FieldInterface> field) {
  13. fields[field->GetName()] = std::move(field);
  14. }
  15. template <class T>
  16. void Field<T>::Accept(VisitorInterface& visitor) const {
  17. visitor.Visit(*this);
  18. }
  19. template class Field<bool>;
  20. template class Field<double>;
  21. template class Field<float>;
  22. template class Field<u8>;
  23. template class Field<u16>;
  24. template class Field<u32>;
  25. template class Field<u64>;
  26. template class Field<s8>;
  27. template class Field<s16>;
  28. template class Field<s32>;
  29. template class Field<s64>;
  30. template class Field<std::string>;
  31. template class Field<const char*>;
  32. template class Field<std::chrono::microseconds>;
  33. } // namespace Telemetry