GCC Code Coverage Report


Directory: ./
File: Fw/Types/StringTemplate.hpp
Date: 2026-09-03 22:12:29
Exec Total Coverage
Lines: 14 15 93.3%
Functions: 36 40 90.0%
Branches: 2 3 66.7%

Line Branch Exec Source
1 // ======================================================================
2 // @file StringTemplate.hpp
3 // @author Rob Bocchino
4 // @brief A string template parameterized by size
5 // ======================================================================
6
7 #ifndef FW_STRING_TEMPLATE_HPP
8 #define FW_STRING_TEMPLATE_HPP
9
10 #include <Fw/FPrimeBasicTypes.hpp>
11
12 #include "Fw/Types/StringBase.hpp"
13
14 namespace Fw {
15
16 template <Fw::StringBase::SizeType size>
17 class StringTemplate final : public StringBase {
18 public:
19 enum {
20 STRING_SIZE = size,
21 SERIALIZED_SIZE = STATIC_SERIALIZED_SIZE(STRING_SIZE),
22 };
23
24
1/1
✓ Branch 2 taken 1145 times.
1165 StringTemplate() : StringBase() { *this = ""; }
25
26 StringTemplate(const StringTemplate& src) : StringBase() { *this = src; }
27
28 StringTemplate(const ConstStringBase& src) : StringBase() { *this = src; }
29
30
1/1
✓ Branch 2 taken 231 times.
348 StringTemplate(const char* src) : StringBase() { *this = src; }
31
32 2752 ~StringTemplate() {}
33
34 19 StringTemplate& operator=(const StringTemplate& src) {
35 19 (void)StringBase::operator=(src);
36 19 return *this;
37 }
38
39 15 StringTemplate& operator=(const ConstStringBase& src) {
40 15 (void)StringBase::operator=(src);
41 15 return *this;
42 }
43
44 2780 StringTemplate& operator=(const char* src) {
45 2780 (void)StringBase::operator=(src);
46 2780 return *this;
47 }
48
49 9816 const char* toChar() const { return this->m_buf; }
50
51 6246 StringBase::SizeType getCapacity() const { return sizeof this->m_buf; }
52
53 private:
54 char m_buf[BUFFER_SIZE(size)];
55 };
56 } // namespace Fw
57
58 #endif
59