16 #ifndef INCLUDE_NN_NLIB_TESTING_PARAMVALUETYPES_H_ 17 #define INCLUDE_NN_NLIB_TESTING_PARAMVALUETYPES_H_ 32 bool Gen(Nlist<T>* v)
const {
33 return v->push_back(
false) && v->push_back(
true);
37 ValuesBool& operator=(
const ValuesBool&);
40 template <
class C,
size_t N>
43 explicit ValuesInObjArray(
const C (&a)[N]) : array_(a) {}
46 bool Gen(Nlist<T>* v)
const {
47 for (
size_t i = 0; i < N; ++i) {
48 if (!v->push_back(array_[i]))
return false;
55 ValuesInObjArray& operator=(
const ValuesInObjArray&);
61 explicit ValuesInObjContainer(
const C& c) : container_(&c) {}
64 bool Gen(Nlist<T>* v)
const {
65 typename C::const_iterator it = container_->begin();
66 typename C::const_iterator end = container_->end();
67 for (; it != end; ++it) {
68 if (!v->push_back(*it))
return false;
75 ValuesInObjContainer& operator=(
const ValuesInObjContainer&);
78 template <
class Iterator>
81 ValuesInObjIterator(Iterator first, Iterator last) : first_(first), last_(last) {}
84 bool Gen(Nlist<T>* v)
const {
86 for (; it != last_; ++it) {
87 if (!v->push_back(*it))
return false;
95 ValuesInObjIterator& operator=(
const ValuesInObjIterator&);
98 template <
class T1,
class T2>
101 ValuesRange(T1 first, T1 last, T2 step) : first_(first), last_(last), step_(step) {}
104 bool Gen(Nlist<T>* v)
const;
110 ValuesRange& operator=(
const ValuesRange&);
113 template <
class T1,
class T2>
115 bool ValuesRange<T1, T2>::Gen(Nlist<T>* v)
const {
123 while (first < last) {
124 if (!v->push_back(first))
return false;
125 first = first + step;
132 typedef Values1 SelfType;
135 explicit Values1(T1 v1) : v1_(v1) {}
138 bool Gen(Nlist<T>* v)
const {
139 return v->push_back(v1_) != NULL;
144 SelfType& operator=(
const SelfType&);
147 template <
class T1,
class T2>
149 typedef Values2 SelfType;
152 Values2(T1 v1, T2 v2) : v1_(v1), v2_(v2) {}
155 bool Gen(Nlist<T>* v)
const {
156 return v->push_back(v1_) != NULL &&
157 v->push_back(v2_) != NULL;
163 SelfType& operator=(
const SelfType&);
166 template <
class T1,
class T2,
class T3>
168 typedef Values3 SelfType;
171 Values3(T1 v1, T2 v2, T3 v3) : v1_(v1), v2_(v2), v3_(v3) {}
174 bool Gen(Nlist<T>* v)
const {
175 return v->push_back(v1_) != NULL &&
176 v->push_back(v2_) != NULL &&
177 v->push_back(v3_) != NULL;
184 SelfType& operator=(
const SelfType&);
187 template <
class T1,
class T2,
class T3,
class T4>
189 typedef Values4 SelfType;
192 Values4(T1 v1, T2 v2, T3 v3, T4 v4) : v1_(v1), v2_(v2), v3_(v3), v4_(v4) {}
195 bool Gen(Nlist<T>* v)
const {
196 return v->push_back(v1_) != NULL &&
197 v->push_back(v2_) != NULL &&
198 v->push_back(v3_) != NULL &&
199 v->push_back(v4_) != NULL;
207 SelfType& operator=(
const SelfType&);
210 template <
class T1,
class T2,
class T3,
class T4,
class T5>
212 typedef Values5 SelfType;
215 Values5(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5) : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5) {}
218 bool Gen(Nlist<T>* v)
const {
219 return v->push_back(v1_) != NULL &&
220 v->push_back(v2_) != NULL &&
221 v->push_back(v3_) != NULL &&
222 v->push_back(v4_) != NULL &&
223 v->push_back(v5_) != NULL;
232 SelfType& operator=(
const SelfType&);
235 template <
class T1,
class T2,
class T3,
class T4,
class T5,
class T6>
237 typedef Values6 SelfType;
240 Values6(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6)
241 : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6) {}
244 bool Gen(Nlist<T>* v)
const {
245 return v->push_back(v1_) != NULL &&
246 v->push_back(v2_) != NULL &&
247 v->push_back(v3_) != NULL &&
248 v->push_back(v4_) != NULL &&
249 v->push_back(v5_) != NULL &&
250 v->push_back(v6_) != NULL;
260 SelfType& operator=(
const SelfType&);
263 template <
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7>
265 typedef Values7 SelfType;
268 Values7(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7)
269 : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7) {}
272 bool Gen(Nlist<T>* v)
const {
273 return v->push_back(v1_) != NULL &&
274 v->push_back(v2_) != NULL &&
275 v->push_back(v3_) != NULL &&
276 v->push_back(v4_) != NULL &&
277 v->push_back(v5_) != NULL &&
278 v->push_back(v6_) != NULL &&
279 v->push_back(v7_) != NULL;
290 SelfType& operator=(
const SelfType&);
293 template <
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8>
295 typedef Values8 SelfType;
298 Values8(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8)
299 : v1_(v1), v2_(v2), v3_(v3), v4_(v4), v5_(v5), v6_(v6), v7_(v7), v8_(v8) {}
302 bool Gen(Nlist<T>* v)
const {
303 return v->push_back(v1_) != NULL &&
304 v->push_back(v2_) != NULL &&
305 v->push_back(v3_) != NULL &&
306 v->push_back(v4_) != NULL &&
307 v->push_back(v5_) != NULL &&
308 v->push_back(v6_) != NULL &&
309 v->push_back(v7_) != NULL &&
310 v->push_back(v8_) != NULL;
322 SelfType& operator=(
const SelfType&);
325 template <
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9>
327 typedef Values9 SelfType;
330 Values9(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9)
342 bool Gen(Nlist<T>* v)
const {
343 return v->push_back(v1_) != NULL &&
344 v->push_back(v2_) != NULL &&
345 v->push_back(v3_) != NULL &&
346 v->push_back(v4_) != NULL &&
347 v->push_back(v5_) != NULL &&
348 v->push_back(v6_) != NULL &&
349 v->push_back(v7_) != NULL &&
350 v->push_back(v8_) != NULL &&
351 v->push_back(v9_) != NULL;
364 SelfType& operator=(
const SelfType&);
367 template <
class T1,
class T2,
class T3,
class T4,
class T5,
class T6,
class T7,
class T8,
class T9,
370 typedef Values10 SelfType;
373 Values10(T1 v1, T2 v2, T3 v3, T4 v4, T5 v5, T6 v6, T7 v7, T8 v8, T9 v9, T10 v10)
386 bool Gen(Nlist<T>* v)
const {
387 return v->push_back(v1_) != NULL &&
388 v->push_back(v2_) != NULL &&
389 v->push_back(v3_) != NULL &&
390 v->push_back(v4_) != NULL &&
391 v->push_back(v5_) != NULL &&
392 v->push_back(v6_) != NULL &&
393 v->push_back(v7_) != NULL &&
394 v->push_back(v8_) != NULL &&
395 v->push_back(v9_) != NULL &&
396 v->push_back(v10_) != NULL;
410 SelfType& operator=(
const SelfType&);
417 #endif // INCLUDE_NN_NLIB_TESTING_PARAMVALUETYPES_H_ Defines that class that is corresponding to std::unique_ptr.
Defines the class that resembles std::vector but can store objects that cannot be copied...
A file that contains the configuration information for each development environment.
#define NLIB_FINAL
Defines final if it is available for use. If not, holds an empty string.