F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
TaskString.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // @file TaskString.hpp
3 // @author F Prime
4 // @brief A string sized for an OS task name
5 // ======================================================================
6 
7 #ifndef OS_TASK_STRING_HPP
8 #define OS_TASK_STRING_HPP
9 
10 #include <Fw/FPrimeBasicTypes.hpp>
11 
12 #include "Fw/Types/StringBase.hpp"
13 
14 namespace Os {
15 
16 class TaskString final : public Fw::StringBase {
17  public:
19 
20  TaskString() : StringBase() { *this = ""; }
21 
22  TaskString(const TaskString& src) : StringBase() { *this = src; }
23 
24  TaskString(const StringBase& src) : StringBase() { *this = src; }
25 
26  explicit TaskString(const char* src) : StringBase() { *this = src; }
27 
29 
31  (void)StringBase::operator=(src);
32  return *this;
33  }
34 
36  (void)StringBase::operator=(src);
37  return *this;
38  }
39 
40  TaskString& operator=(const char* src) {
41  (void)StringBase::operator=(src);
42  return *this;
43  }
44 
45  const char* toChar() const { return this->m_buf; }
46 
47  StringBase::SizeType getCapacity() const { return sizeof this->m_buf; }
48 
49  private:
50  char m_buf[BUFFER_SIZE(STRING_SIZE)];
51 };
52 } // namespace Os
53 
54 #endif
TaskString & operator=(const char *src)
Definition: TaskString.hpp:40
TaskString(const TaskString &src)
Definition: TaskString.hpp:22
const char * toChar() const
Definition: TaskString.hpp:45
TaskString(const char *src)
Definition: TaskString.hpp:26
StringBase::SizeType getCapacity() const
return size of buffer
Definition: TaskString.hpp:47
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
Definition: StringBase.hpp:42
TaskString & operator=(const TaskString &src)
Definition: TaskString.hpp:30
#define FW_TASK_NAME_BUFFER_SIZE
Max size of task name.
Definition: FpConfig.h:165
TaskString(const StringBase &src)
Definition: TaskString.hpp:24
Declares F Prime string base class.
TaskString & operator=(const StringBase &src)
Definition: TaskString.hpp:35
static constexpr SizeType STATIC_SERIALIZED_SIZE(SizeType maxLength)
Definition: StringBase.hpp:36