GCC Code Coverage Report


Directory: ./
File: StringTemplate.hpp
Date: 2026-09-03 22:13:07
Exec Total Coverage
Lines: 0 7 0.0%
Functions: 0 5 0.0%
Branches: 0 1 0.0%

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 StringTemplate() : StringBase() { *this = ""; }
25
26 StringTemplate(const StringTemplate& src) : StringBase() { *this = src; }
27
28 StringTemplate(const ConstStringBase& src) : StringBase() { *this = src; }
29
30 StringTemplate(const char* src) : StringBase() { *this = src; }
31
32 ~StringTemplate() {}
33
34 StringTemplate& operator=(const StringTemplate& src) {
35 (void)StringBase::operator=(src);
36 return *this;
37 }
38
39 StringTemplate& operator=(const ConstStringBase& src) {
40 (void)StringBase::operator=(src);
41 return *this;
42 }
43
44 StringTemplate& operator=(const char* src) {
45 (void)StringBase::operator=(src);
46 return *this;
47 }
48
49 const char* toChar() const { return this->m_buf; }
50
51 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