YPC  0.2.0
local_result.h
1 #pragma once
2 #include "ypc/core_t/analyzer/helper/parser_type_traits.h"
3 #include "ypc/core_t/analyzer/internal/is_param_encrypted.h"
4 #include "ypc/core_t/analyzer/var/result_var.h"
5 #include "ypc/stbox/ebyte.h"
6 #include "ypc/stbox/stx_status.h"
7 
8 namespace ypc {
9 namespace internal {
10 class local_result : virtual public result_var {
11 public:
12  inline uint32_t generate_result() { return 0; }
13  inline uint32_t get_analyze_result_size() {
14  return result_var::m_result.size();
15  }
16  inline uint32_t get_analyze_result(uint8_t *result, uint32_t size) {
17  if (size != result_var::m_result.size()) {
18  return stbox::stx_status::out_buffer_length_error;
19  }
20  memcpy(result, result_var::m_result.data(), size);
21  return stbox::stx_status::success;
22  }
23 };
24 template <> struct is_param_encrypted<local_result> {
25  static constexpr bool value = false;
26 };
27 } // namespace internal
29 template <> struct result_type_traits<internal::local_result> {
30  constexpr static uint32_t value = ypc::utc::local_result_parser;
31 };
32 } // namespace ypc
ypc::internal::result_var
Definition: result_var.h:5
ypc::internal::is_param_encrypted
Definition: is_param_encrypted.h:5
ypc::result_type_traits
Definition: parser_type_traits.h:4
ypc::internal::local_result
Definition: local_result.h:10