F´ Flight Software - C/C++ Documentation  devel
A framework for building embedded system applications to NASA flight quality standards.
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PrmString.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // @file PrmString.hpp
3 // @author F Prime
4 // @brief A string sized for a parameter
5 // ======================================================================
6 
7 #ifndef FW_PARAM_STRING_HPP
8 #define FW_PARAM_STRING_HPP
9 
10 #include <FpConfig.hpp>
11 
12 #include "Fw/Cfg/SerIds.hpp"
13 #include "Fw/Types/StringBase.hpp"
14 
15 namespace Fw {
16 
17 class ParamString : public StringBase {
18  public:
19  enum {
23  };
24 
25  ParamString() : StringBase() { *this = ""; }
26 
27  ParamString(const ParamString& src) : StringBase() { *this = src; }
28 
29  ParamString(const StringBase& src) : StringBase() { *this = src; }
30 
31  ParamString(const char* src) : StringBase() { *this = src; }
32 
34 
36  (void)StringBase::operator=(src);
37  return *this;
38  }
39 
41  (void)StringBase::operator=(src);
42  return *this;
43  }
44 
45  ParamString& operator=(const char* src) {
46  (void)StringBase::operator=(src);
47  return *this;
48  }
49 
50  const char* toChar() const { return this->m_buf; }
51 
52  StringBase::SizeType getCapacity() const { return sizeof this->m_buf; }
53 
54  private:
55  char m_buf[BUFFER_SIZE(STRING_SIZE)];
56 };
57 } // namespace Fw
58 
59 #endif
#define FW_PARAM_STRING_MAX_SIZE
Max size of parameter string type.
Definition: FpConfig.h:339
C++-compatible configuration header for fprime configuration.
Definitions for ISF type serial IDs.
Declares F Prime string base class.
ParamString & operator=(const char *src)
Definition: PrmString.hpp:45
ParamString(const StringBase &src)
Definition: PrmString.hpp:29
ParamString(const char *src)
Definition: PrmString.hpp:31
const char * toChar() const
Definition: PrmString.hpp:50
ParamString & operator=(const StringBase &src)
Definition: PrmString.hpp:40
ParamString(const ParamString &src)
Definition: PrmString.hpp:27
StringBase::SizeType getCapacity() const
return size of buffer
Definition: PrmString.hpp:52
ParamString & operator=(const ParamString &src)
Definition: PrmString.hpp:35
NATIVE_UINT_TYPE SizeType
Definition: StringBase.hpp:26
static constexpr SizeType STATIC_SERIALIZED_SIZE(SizeType maxLength)
Definition: StringBase.hpp:35
static constexpr SizeType BUFFER_SIZE(SizeType maxLength)
Get the size of a null-terminated string buffer.
Definition: StringBase.hpp:41
@ FW_TYPEID_PRM_STR
Parameter string type id.
Definition: SerIds.hpp:52