F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
BuffQueueDepthArrayAc.hpp
Go to the documentation of this file.
1 // ======================================================================
2 // \title BuffQueueDepthArrayAc.hpp
3 // \author Generated by fpp-to-cpp
4 // \brief hpp file for BuffQueueDepth array
5 // ======================================================================
6 
7 #ifndef Svc_BuffQueueDepthArrayAc_HPP
8 #define Svc_BuffQueueDepthArrayAc_HPP
9 
10 #include <initializer_list>
11 
12 #include "Fw/FPrimeBasicTypes.hpp"
15 #include "Fw/Types/String.hpp"
16 
17 namespace Svc {
18 
21  public Fw::Serializable
22  {
23 
24  public:
25 
26  // ----------------------------------------------------------------------
27  // Types
28  // ----------------------------------------------------------------------
29 
31  using ElementType = U32;
32 
33  public:
34 
35  // ----------------------------------------------------------------------
36  // Constants
37  // ----------------------------------------------------------------------
38 
39  enum {
41  SIZE = 1,
43  ELEMENT_SERIALIZED_SIZE = sizeof(U32),
46  };
47 
48  public:
49 
50  // ----------------------------------------------------------------------
51  // Constructors
52  // ----------------------------------------------------------------------
53 
56 
59  const ElementType (&a)[SIZE]
60  );
61 
63  explicit BuffQueueDepth(
64  const ElementType& e
65  );
66 
69  const std::initializer_list<ElementType>& il
70  );
71 
74  const BuffQueueDepth& obj
75  );
76 
77  public:
78 
79  // ----------------------------------------------------------------------
80  // Operators
81  // ----------------------------------------------------------------------
82 
85  const FwSizeType i
86  );
87 
89  const ElementType& operator[](
90  const FwSizeType i
91  ) const;
92 
95  const BuffQueueDepth& obj
96  );
97 
100  const ElementType (&a)[SIZE]
101  );
102 
105  const std::initializer_list<ElementType>& il
106  );
107 
110  const ElementType& e
111  );
112 
114  bool operator==(
115  const BuffQueueDepth& obj
116  ) const;
117 
119  bool operator!=(
120  const BuffQueueDepth& obj
121  ) const;
122 
123 #ifdef BUILD_UT
124 
126  friend std::ostream& operator<<(
127  std::ostream& os,
128  const BuffQueueDepth& obj
129  );
130 
131 #endif
132 
133  public:
134 
135  // ----------------------------------------------------------------------
136  // Public member functions
137  // ----------------------------------------------------------------------
138 
141  Fw::SerialBufferBase& buffer,
143  ) const;
144 
147  Fw::SerialBufferBase& buffer,
149  );
150 
152  FwSizeType serializedSize() const;
153 
154 #if FW_SERIALIZABLE_TO_STRING
155 
157  void toString(
158  Fw::StringBase& sb
159  ) const;
160 
161 #endif
162 
163  private:
164 
165  // ----------------------------------------------------------------------
166  // Member variables
167  // ----------------------------------------------------------------------
168 
170  ElementType elements[SIZE];
171 
172  };
173 
174 }
175 
176 #endif
PlatformSizeType FwSizeType
bool operator==(const BuffQueueDepth &obj) const
Equality operator.
FwSizeType serializedSize() const
Get the dynamic serialized size of the array.
The serialized size of each element.
U32 ElementType
The element type.
SerializeStatus
forward declaration for string
ElementType & operator[](const FwSizeType i)
Subscript operator.
Array of queue depths for Fw::Buffer types.
BuffQueueDepth & operator=(const BuffQueueDepth &obj)
Copy assignment operator (object)
Fw::SerializeStatus deserializeFrom(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG)
Deserialization.
BuffQueueDepth()
Constructor (default value)
The size of the serial representation.
RateGroupDivider component implementation.
Endianness
Fw::SerializeStatus serializeTo(Fw::SerialBufferBase &buffer, Fw::Endianness mode=Fw::Endianness::BIG) const
Serialization.
bool operator!=(const BuffQueueDepth &obj) const
Inequality operator.
Big endian serialization.