F´ Flight Software - C/C++ Documentation
A framework for building embedded system applications to NASA flight quality standards.
Loading...
Searching...
No Matches
ComQueueDepthArrayAc.cpp
Go to the documentation of this file.
1// ======================================================================
2// \title ComQueueDepthArrayAc.cpp
3// \author Generated by fpp-to-cpp
4// \brief cpp file for ComQueueDepth array
5// ======================================================================
6
8#include "Fw/Types/Assert.hpp"
9
10namespace Svc {
11
12 // ----------------------------------------------------------------------
13 // Constructors
14 // ----------------------------------------------------------------------
15
16 ComQueueDepth ::
17 ComQueueDepth() :
18 Serializable()
19 {
20 // Construct using element-wise constructor
21 *this = ComQueueDepth(
22 0,
23 0
24 );
25 }
26
27 ComQueueDepth ::
28 ComQueueDepth(const ElementType (&a)[SIZE]) :
29 Serializable()
30 {
31 for (U32 index = 0; index < SIZE; index++) {
32 this->elements[index] = a[index];
33 }
34 }
35
36 ComQueueDepth ::
37 ComQueueDepth(const ElementType& e) :
38 Serializable()
39 {
40 for (U32 index = 0; index < SIZE; index++) {
41 this->elements[index] = e;
42 }
43 }
44
45 ComQueueDepth ::
46 ComQueueDepth(
47 const ElementType& e1,
48 const ElementType& e2
49 ) :
50 Serializable()
51 {
52 this->elements[0] = e1;
53 this->elements[1] = e2;
54 }
55
56 ComQueueDepth ::
57 ComQueueDepth(const ComQueueDepth& obj) :
58 Serializable()
59 {
60 for (U32 index = 0; index < SIZE; index++) {
61 this->elements[index] = obj.elements[index];
62 }
63 }
64
65 // ----------------------------------------------------------------------
66 // Operators
67 // ----------------------------------------------------------------------
68
70 operator[](const U32 i)
71 {
72 FW_ASSERT(i < SIZE, static_cast<FwAssertArgType>(i), static_cast<FwAssertArgType>(SIZE));
73 return this->elements[i];
74 }
75
76 const ComQueueDepth::ElementType& ComQueueDepth ::
77 operator[](const U32 i) const
78 {
79 FW_ASSERT(i < SIZE, static_cast<FwAssertArgType>(i), static_cast<FwAssertArgType>(SIZE));
80 return this->elements[i];
81 }
82
83 ComQueueDepth& ComQueueDepth ::
84 operator=(const ComQueueDepth& obj)
85 {
86 if (this == &obj) {
87 return *this;
88 }
89
90 for (U32 index = 0; index < SIZE; index++) {
91 this->elements[index] = obj.elements[index];
92 }
93 return *this;
94 }
95
96 ComQueueDepth& ComQueueDepth ::
97 operator=(const ElementType (&a)[SIZE])
98 {
99 for (U32 index = 0; index < SIZE; index++) {
100 this->elements[index] = a[index];
101 }
102 return *this;
103 }
104
105 ComQueueDepth& ComQueueDepth ::
106 operator=(const ElementType& e)
107 {
108 for (U32 index = 0; index < SIZE; index++) {
109 this->elements[index] = e;
110 }
111 return *this;
112 }
113
114 bool ComQueueDepth ::
115 operator==(const ComQueueDepth& obj) const
116 {
117 for (U32 index = 0; index < SIZE; index++) {
118 if (!((*this)[index] == obj[index])) {
119 return false;
120 }
121 }
122 return true;
123 }
124
125 bool ComQueueDepth ::
126 operator!=(const ComQueueDepth& obj) const
127 {
128 return !(*this == obj);
129 }
130
131#ifdef BUILD_UT
132
133 std::ostream& operator<<(std::ostream& os, const ComQueueDepth& obj) {
134 Fw::String s;
135 obj.toString(s);
136 os << s;
137 return os;
138 }
139
140#endif
141
142 // ----------------------------------------------------------------------
143 // Public member functions
144 // ----------------------------------------------------------------------
145
146 Fw::SerializeStatus ComQueueDepth ::
147 serialize(Fw::SerializeBufferBase& buffer) const
148 {
150 for (U32 index = 0; index < SIZE; index++) {
151 status = buffer.serialize((*this)[index]);
152 if (status != Fw::FW_SERIALIZE_OK) {
153 return status;
154 }
155 }
156 return status;
157 }
158
159 Fw::SerializeStatus ComQueueDepth ::
160 deserialize(Fw::SerializeBufferBase& buffer)
161 {
163 for (U32 index = 0; index < SIZE; index++) {
164 status = buffer.deserialize((*this)[index]);
165 if (status != Fw::FW_SERIALIZE_OK) {
166 return status;
167 }
168 }
169 return status;
170 }
171
172#if FW_SERIALIZABLE_TO_STRING
173
174 void ComQueueDepth ::
175 toString(Fw::StringBase& sb) const
176 {
177 static const char *formatString = "[ "
178 "%" PRIu32 " "
179 "%" PRIu32 " ]";
180
181 sb.format(
182 formatString,
183 this->elements[0],
184 this->elements[1]
185 );
186 }
187
188#endif
189
190}
#define FW_ASSERT(...)
Definition Assert.hpp:14
PlatformAssertArgType FwAssertArgType
Definition FpConfig.h:39
SerializeStatus deserialize(U8 &val)
deserialize 8-bit unsigned int
SerializeStatus serialize(U8 val)
serialize 8-bit unsigned int
void format(const CHAR *formatString,...)
write formatted string to buffer
Array of queue depths for Fw::Com types.
@ SIZE
The size of the array.
ComQueueDepth()
Constructor (default value)
U32 ElementType
The element type.
SerializeStatus
forward declaration for string
@ FW_SERIALIZE_OK
Serialization/Deserialization operation was successful.