WSF
MessageSizeChecker.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI//REL TO USA ONLY
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11#ifndef L16_MESSAGESIZECHECKER_HPP
12#define L16_MESSAGESIZECHECKER_HPP
13
14#include "FieldTypes.hpp"
15
21namespace WsfL16
22{
23namespace Messages
24{
25template<class T>
27{
28 static const int FieldSize = T::cFIELD_SIZE;
29};
30
31template<>
32struct FieldSizeCheck<bool>
33{
34 static const int FieldSize = 0;
35};
36
39template<unsigned _MESSAGE_SIZE_,
40 unsigned _GOOD_SIZE_,
41 unsigned FieldSize1,
42 unsigned FieldSize2,
43 unsigned FieldSize3,
44 unsigned FieldSize4,
45 unsigned FieldSize5,
46 unsigned FieldSize6,
47 unsigned FieldSize7,
48 unsigned FieldSize8,
49 unsigned FieldSize9,
50 unsigned FieldSize10,
51 unsigned FieldSize11,
52 unsigned FieldSize12,
53 unsigned FieldSize13,
54 unsigned FieldSize14,
55 unsigned FieldSize15,
56 unsigned FieldSize16,
57 unsigned FieldSize17,
58 unsigned FieldSize18,
59 unsigned FieldSize19,
60 unsigned FieldSize20,
61 unsigned FieldSize21,
62 unsigned FieldSize22,
63 unsigned FieldSize23,
64 unsigned FieldSize24,
65 unsigned FieldSize25,
66 unsigned FieldSize26,
67 unsigned FieldSize27,
68 unsigned FieldSize28,
69 unsigned FieldSize29,
70 unsigned FieldSize30,
71 unsigned FieldSize31,
72 unsigned FieldSize32>
74
75template<unsigned OK,
76 unsigned FieldSize1,
77 unsigned FieldSize2,
78 unsigned FieldSize3,
79 unsigned FieldSize4,
80 unsigned FieldSize5,
81 unsigned FieldSize6,
82 unsigned FieldSize7,
83 unsigned FieldSize8,
84 unsigned FieldSize9,
85 unsigned FieldSize10,
86 unsigned FieldSize11,
87 unsigned FieldSize12,
88 unsigned FieldSize13,
89 unsigned FieldSize14,
90 unsigned FieldSize15,
91 unsigned FieldSize16,
92 unsigned FieldSize17,
93 unsigned FieldSize18,
94 unsigned FieldSize19,
95 unsigned FieldSize20,
96 unsigned FieldSize21,
97 unsigned FieldSize22,
98 unsigned FieldSize23,
99 unsigned FieldSize24,
100 unsigned FieldSize25,
101 unsigned FieldSize26,
102 unsigned FieldSize27,
103 unsigned FieldSize28,
104 unsigned FieldSize29,
105 unsigned FieldSize30,
106 unsigned FieldSize31,
107 unsigned FieldSize32>
109 OK,
110 FieldSize1,
111 FieldSize2,
112 FieldSize3,
113 FieldSize4,
114 FieldSize5,
115 FieldSize6,
116 FieldSize7,
117 FieldSize8,
118 FieldSize9,
119 FieldSize10,
120 FieldSize11,
121 FieldSize12,
122 FieldSize13,
123 FieldSize14,
124 FieldSize15,
125 FieldSize16,
126 FieldSize17,
127 FieldSize18,
128 FieldSize19,
129 FieldSize20,
130 FieldSize21,
131 FieldSize22,
132 FieldSize23,
133 FieldSize24,
134 FieldSize25,
135 FieldSize26,
136 FieldSize27,
137 FieldSize28,
138 FieldSize29,
139 FieldSize30,
140 FieldSize31,
141 FieldSize32>
142{
143};
144
145template<unsigned GOOD_SIZE,
146 class c1,
147 class c2 = bool,
148 class c3 = bool,
149 class c4 = bool,
150 class c5 = bool,
151 class c6 = bool,
152 class c7 = bool,
153 class c8 = bool,
154 class c9 = bool,
155 class c10 = bool,
156 class c11 = bool,
157 class c12 = bool,
158 class c13 = bool,
159 class c14 = bool,
160 class c15 = bool,
161 class c16 = bool,
162 class c17 = bool,
163 class c18 = bool,
164 class c19 = bool,
165 class c20 = bool,
166 class c21 = bool,
167 class c22 = bool,
168 class c23 = bool,
169 class c24 = bool,
170 class c25 = bool,
171 class c26 = bool,
172 class c27 = bool,
173 class c28 = bool,
174 class c29 = bool,
175 class c30 = bool,
176 class c31 = bool,
177 class c32 = bool>
179{
180 static const int error_message =
193 GOOD_SIZE,
226};
227} // namespace Messages
228} // namespace WsfL16
229
230#endif
#define c6
Definition WsfNORAD_OrbitalPropagator.cpp:250
#define c5
Definition WsfNORAD_OrbitalPropagator.cpp:249
#define c1
Definition WsfNORAD_OrbitalPropagator.cpp:411
#define c4
Definition WsfNORAD_OrbitalPropagator.cpp:412
Definition ComputerPart.hpp:45
This file should be included prior to defining a message. Currently there is a limit of 32 fields per...
Definition AllMessages.hpp:55
static const int FieldSize
Definition MessageSizeChecker.hpp:34
Definition MessageSizeChecker.hpp:27
static const int FieldSize
Definition MessageSizeChecker.hpp:28
Definition MessageSizeChecker.hpp:73
Definition MessageSizeChecker.hpp:179
static const int error_message
Definition MessageSizeChecker.hpp:180
Copyrights Multiple, All Rights Reserved