F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
ParamValidEnumAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title ParamValidEnumAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for ParamValid enum
5 // ======================================================================
6 
7 #ifndef Fw_ParamValidEnumAc_HPP
8 #define Fw_ParamValidEnumAc_HPP
9 
10 #include "Fw/FPrimeBasicTypes.hpp"
12 #include "Fw/Types/String.hpp"
13 
14 namespace Fw {
15 
17  class ParamValid :
18  public Fw::Serializable
19  {
20 
21  public:
22 
23  // ----------------------------------------------------------------------
24  // Types
25  // ----------------------------------------------------------------------
26 
28  typedef U8 SerialType;
29 
31  enum T {
32  UNINIT = 0,
33  VALID = 1,
34  INVALID = 2,
35  DEFAULT = 3,
36  };
37 
39  typedef T t;
40 
41  public:
42 
43  // ----------------------------------------------------------------------
44  // Constants
45  // ----------------------------------------------------------------------
46 
47  enum {
52  };
53 
54  public:
55 
56  // ----------------------------------------------------------------------
57  // Constructors
58  // ----------------------------------------------------------------------
59 
62  {
63  this->e = UNINIT;
64  }
65 
68  const T e1
69  )
70  {
71  this->e = e1;
72  }
73 
76  const ParamValid& obj
77  )
78  {
79  this->e = obj.e;
80  }
81 
82  public:
83 
84  // ----------------------------------------------------------------------
85  // Operators
86  // ----------------------------------------------------------------------
87 
90  const ParamValid& obj
91  );
92 
95  T e1
96  );
97 
99  operator T() const
100  {
101  return this->e;
102  }
103 
105  bool operator==(T e1) const
106  {
107  return this->e == e1;
108  }
109 
111  bool operator!=(T e1) const
112  {
113  return !(*this == e1);
114  }
115 
116 #ifdef BUILD_UT
117 
119  friend std::ostream& operator<<(
120  std::ostream& os,
121  const ParamValid& obj
122  );
123 
124 #endif
125 
126  public:
127 
128  // ----------------------------------------------------------------------
129  // Member functions
130  // ----------------------------------------------------------------------
131 
133  bool isValid() const;
134 
137  Fw::SerialBufferBase& buffer,
139  ) const;
140 
143  Fw::SerialBufferBase& buffer,
145  );
146 
147 #if FW_SERIALIZABLE_TO_STRING
148 
150  void toString(
151  Fw::StringBase& sb
152  ) const;
153 
154 #endif
155 
156  public:
157 
158  // ----------------------------------------------------------------------
159  // Member variables
160  // ----------------------------------------------------------------------
161 
163  T e;
164 
165  };
166 
167 }
168 
169 #endif
ParamValid(const T e1)
Constructor (user-provided value)
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialize raw enum value from SerialType.
U8 SerialType
The serial representation type.
bool isValid() const
Check raw enum value for validity.
SerializeStatus
forward declaration for string
The number of enumerated constants.
T e
The raw enum value.
bool operator!=(T e1) const
Inequality operator.
ParamValid()
Constructor (default value of UNINIT)
ParamValid & operator=(const ParamValid &obj)
Copy assignment operator (object)
bool operator==(T e1) const
Equality operator.
uint8_t U8
8-bit unsigned integer
Definition: BasicTypes.h:53
The size of the serial representation.
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialize raw enum value to SerialType.
Enum representing parameter validity.
Implementation of malloc based allocator.
Endianness
T t
For backwards compatibility.
T
The raw enum type.
ParamValid(const ParamValid &obj)
Copy constructor.
Big endian serialization.