Coverage Report

Created: 2026-04-29 07:02

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/arduinojson/src/ArduinoJson/Serialization/Writers/StaticStringWriter.hpp
Line
Count
Source
1
// ArduinoJson - https://arduinojson.org
2
// Copyright © 2014-2025, Benoit BLANCHON
3
// MIT License
4
5
#pragma once
6
7
#include <ArduinoJson/Namespace.hpp>
8
9
ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE
10
11
class StaticStringWriter {
12
 public:
13
0
  StaticStringWriter(char* buf, size_t size) : end(buf + size), p(buf) {}
14
15
0
  size_t write(uint8_t c) {
16
0
    if (p >= end)
17
0
      return 0;
18
0
    *p++ = static_cast<char>(c);
19
0
    return 1;
20
0
  }
21
22
0
  size_t write(const uint8_t* s, size_t n) {
23
0
    char* begin = p;
24
0
    while (p < end && n > 0) {
25
0
      *p++ = static_cast<char>(*s++);
26
0
      n--;
27
0
    }
28
0
    return size_t(p - begin);
29
0
  }
30
31
 private:
32
  char* end;
33
  char* p;
34
};
35
36
ARDUINOJSON_END_PRIVATE_NAMESPACE