yql_issue_message.h 942 B

12345678910111213141516171819202122232425262728293031323334
  1. #pragma once
  2. #include "yql_issue.h"
  3. #include <util/generic/ylimits.h>
  4. namespace NYql {
  5. namespace NIssue {
  6. namespace NProto {
  7. class IssueMessage;
  8. }
  9. }
  10. template<typename TIssueMessage>
  11. TIssue IssueFromMessage(const TIssueMessage& issueMessage);
  12. template<typename TIssueMessage>
  13. void IssuesFromMessage(const ::google::protobuf::RepeatedPtrField<TIssueMessage>& message, TIssues& issues);
  14. template<typename TIssueMessage>
  15. TString IssuesFromMessageAsString(const ::google::protobuf::RepeatedPtrField<TIssueMessage>& message) {
  16. TIssues issues;
  17. IssuesFromMessage(message, issues);
  18. return issues.ToOneLineString();
  19. }
  20. NIssue::NProto::IssueMessage IssueToMessage(const TIssue& topIssue);
  21. template<typename TIssueMessage>
  22. void IssueToMessage(const TIssue& topIssue, TIssueMessage* message);
  23. template<typename TIssueMessage>
  24. void IssuesToMessage(const TIssues& issues, ::google::protobuf::RepeatedPtrField<TIssueMessage>* message);
  25. }