RTI Connext DDS Micro  Version 2.4.10
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
dds_c_sequence.h
Go to the documentation of this file.
1 /*
2  * FILE: dds_c_sequence.h - DDS sequence definitions
3  *
4  * (c) Copyright, Real-Time Innovations, 2012-2016.
5  *
6  * All rights reserved.
7  *
8  * No duplications, whole or partial, manual or electronic, may be made
9  * without express written permission. Any such copies, or
10  * revisions thereof, must display this notice unaltered.
11  * This code contains trade secrets of Real-Time Innovations, Inc.
12  *
13  * Modification History
14  * --------------------
15  * 10feb2016,tk MICRO-1530 Unified REDA_StringSeq, CDR_StringSeq, and DDS_StringSeq
16  * 06oct2015,tk MICRO-1493 Added missing DDS built-in sequences
17  * 08jun2012,tk Written
18  */
19 /*ce
20  * \file
21  * \brief DDS sequence definitions
22  */
23 /*e \dref_SequenceGroupDocs
24  */
25 #ifndef dds_c_sequence_h
26 #define dds_c_sequence_h
27 
28 #ifndef dds_c_dll_h
29 #include "dds_c/dds_c_dll.h"
30 #endif
31 #ifndef dds_c_common_h
32 #include "dds_c/dds_c_common.h"
33 #endif
34 #ifndef reda_sequence_h
35 #include "reda/reda_sequence.h"
36 #endif
37 
38 #ifdef __cplusplus
39 extern "C"
40 {
41 #endif
42 
43 /* Make sure that NDDSUSERDllExport expands to nothing by default */
44 #ifndef NDDSUSERDllExport
45 #define NDDSUSERDllExport
46 #endif
47 
48 /*ci @ingroup DDSSequenceModule
49  @brief Empty Sequence dll export variable
50 
51  Since for dds c sequence structure, there are no methods. Therefore, there is
52  no need to export anything.
53 */
54 #define DDS_SEQUENCE_DLL_EXPORT
55 
56 /*i @ingroup DDSSequenceModule
57 
58  @brief Declares an abstract \st_interface \p TSeq, for IDL \p
59  sequence\_T of type \p T.
60 
61  @uses T base type
62  @defines TSeq name of the sequence type to be defined
63 
64  Using this macro introduces a class declaration TSeq in the
65  enclosing name space.
66 
67  <STRONG>Incarnation:</STRONG>
68 
69  \em Incarnation is the process of realizing a concrete type
70  from the \em generic skeleton defined by TSeq. Given a user type
71  \p Foo, a type \p FooSeq representing the IDL type \p
72  sequence\_Foo is incarnated as follows.
73 
74  <EM>\em Value-type sequences</EM>
75 
76  When the base type \p T is a value-type, \p sequence\_T is declared
77  follows.
78  \code
79  DDS_SEQUENCE(FooSeq, Foo);
80  \endcode
81 
82  <EM>\em Reference-type sequences</EM>
83 
84  When the base type \p Foo is a reference-type, \p sequence\_Foo is
85  declared as follows.
86 
87  \code
88  typedef Foo* Foo_ptr;
89 
90  DDS_SEQUENCE(FooSeq, Foo_ptr);
91 
92  \endcode
93 
94  We use a two step process, because in C++
95  \code
96  const Foo_ptr = Foo *const
97  != const Foo*
98  \endcode
99  and we want the \p Foo_ptr semantics for the method:
100  \code
101  const T& TSeq::operator[]() const
102  \endcode
103 
104  \hideinitializer
105 */
106 
107 #define DDS_SEQUENCE REDA_DEFINE_SEQUENCE
108 
109 /*ce \dref_FooSeq_SEQUENCE_INITIALIZER
110  */
111 #define DDS_SEQUENCE_INITIALIZER REDA_DEFINE_EMPTY_SEQUENCE_INITIALIZER
112 
113 /* ================================================================= */
114 #ifdef DOXYGEN_DOCUMENTATION_ONLY
115 
116 /*ce \dref_FooSeq
117  */
118 struct FooSeq
119 {
120  /*e @brief Pointer to array of contiguous or discontiguous data
121  *
122  */
124 
125 
126  /*e @brief Maximum size of the sequence
127  *
128  * The allocated length of this sequence. It applies to whichever of
129  * the above buffers is non-NULL, if any. If both a NULL, its value
130  * must be 0.
131  *
132  * If _maximum == 0, _owned == true.
133  */
135 
136  /*e @brief Actual length of the sequence that contains data
137  *
138  * The current logical length of this seqeunce, i.e. the number of valid
139  * elements it contains. It applies to whichever of the above
140  * buffers is non-null, if any. If both are NULL, its value must be 0.
141  */
143 
144  /*e @brief Size of data element in the sequence
145  *
146  * Each element in the sequence has this size.
147  */
149 
150  /*e @brief Reserved for internal use
151  */
152  void *_token1;
153 
154  /*e @brief Reserved for internal use
155  */
156  void *_token2;
157 
158  /*e @brief The maximum allocation for pointer elements (string,wstring)
159  * Only in debug librarires
160  */
162 
163  /*e @brief Reserved for internal use
164  */
166 };
167 
168 /*ce \dref_FooSeq_initialize
169  */
170 DDS_Boolean FooSeq_initialize(struct FooSeq *self);
171 
172 /*ce \dref_FooSeq_finalize
173  */
174 DDS_Boolean FooSeq_finalize(struct FooSeq *self);
175 
176 /*ce \dref_FooSeq_get_maximum
177  */
178 DDS_Long FooSeq_get_maximum(const struct FooSeq *self);
179 
180 /*ce \dref_FooSeq_set_maximum
181  */
182 DDS_Boolean FooSeq_set_maximum(struct FooSeq *self, DDS_Long new_max);
183 
184 /*ce \dref_FooSeq_set_maximum_w_max
185  */
187 
188 /*ce \dref_FooSeq_get_length
189  */
190 DDS_Long FooSeq_get_length(const struct FooSeq *self);
191 
192 /*ce \dref_FooSeq_set_length
193  */
194 DDS_Boolean FooSeq_set_length(struct FooSeq *self, DDS_Long new_length);
195 
196 /*ce \dref_FooSeq_get_reference
197  */
198 Foo *FooSeq_get_reference(const struct FooSeq *self, DDS_Long i);
199 
200 /*ce \dref_FooSeq_copy
201  */
202 struct FooSeq *FooSeq_copy(struct FooSeq *self, const struct FooSeq *src_seq);
203 
204 /*ce \dref_FooSeq_copy_w_max
205  */
206 struct FooSeq *FooSeq_copy_w_max(struct FooSeq *self, const struct FooSeq *src_seq,DDS_UnsignedLong max_size);
207 
208 /*ce \dref_FooSeq_is_equal
209  */
210 DDS_Boolean FooSeq_is_equal(struct FooSeq* self, struct FooSeq* other);
211 
212 /*ce \dref_FooSeq_loan_contiguous
213  */
214 DDS_Boolean FooSeq_loan_contiguous(struct FooSeq *self, void *buffer,
215  DDS_Long new_length, DDS_Long new_max);
216 
217 /*ce \dref_FooSeq_loan_discontiguous
218  */
219 DDS_Boolean FooSeq_loan_discontiguous(struct FooSeq *self, void *buffer,
220  DDS_Long new_length, DDS_Long new_max);
221 
222 /*ce \dref_FooSeq_unloan
223  */
224 DDS_Boolean FooSeq_unloan(struct FooSeq *self);
225 
226 /*ce \dref_FooSeq_has_ownership
227  */
228 DDS_Boolean FooSeq_has_ownership(const struct FooSeq *self);
229 
230 /*ce \dref_FooSeq_get_contiguous_buffer
231  */
232 Foo* FooSeq_get_contiguous_buffer(struct FooSeq *self);
233 
234 /*ce \dref_FooSeq_set_contiguous_buffer
235  */
236 DDS_Boolean FooSeq_set_contiguous_buffer(struct FooSeq *self, Foo* buffer);
237 
238 /*ce \dref_FooSeq_has_discontiguous_buffer
239  */
241 
242 /*ce \dref_FooSeq_set_token
243  */
244 DDS_Boolean FooSeq_set_token(const struct FooSeq *self,
245  void *token1, void *token2);
246 
247 /*ce \dref_FooSeq_get_token
248  */
249 DDS_Boolean FooSeq_get_token(const struct FooSeq *self,
250  void **token1, void **token2);
251 
252 /*ce \dref_FooSeq_ensure_length
253  */
254 DDS_Boolean FooSeq_ensure_length(struct FooSeq *self,DDS_Long length, DDS_Long max);
255 
256 /*ce \dref_FooSeq_ensure_length_w_max
257  */
259 
260 /*ce \dref_FooSeq_from_array
261  */
262 DDS_Boolean FooSeq_from_array(struct FooSeq *self, const Foo array[], DDS_Long length);
263 
264 /*ce \dref_FooSeq_from_array_w_max
265  */
266 DDS_Boolean FooSeq_from_array_w_max(struct FooSeq *self, const Foo array[], DDS_Long length,DDS_UnsignedLong max_size);
267 
268 /*ce \dref_FooSeq_to_array
269  */
270 DDS_Boolean FooSeq_to_array(struct FooSeq *self, const Foo array[], DDS_Long length);
271 
272 /*ce \dref_FooSeq_to_array_w_max
273  */
274 DDS_Boolean FooSeq_to_array_w_max(struct FooSeq *self, const Foo array[], RTI_INT32 length,DDS_UnsignedLong max_size);
275 
276 #endif /* DOXYGEN_DOCUMENTATION_ONLY */
277 
278 #ifndef REDA_SEQUENCE_API
279 #define REDA_SEQUENCE_API REDA_SEQUENCE_API_USER_DEFAULT
280 #endif /* REDA_SEQUENCE_API */
281 
282 #define DDS_UnsignedLongSeq CDR_UnsignedLongSeq
283 #define DDS_ShortSeq CDR_ShortSeq
284 #define DDS_BooleanSeq CDR_BooleanSeq
285 #define DDS_FloatSeq CDR_FloatSeq
286 #define DDS_LongSeq CDR_LongSeq
287 #define DDS_WcharSeq CDR_WcharSeq
288 #define DDS_DoubleSeq CDR_DoubleSeq
289 #define DDS_EnumSeq CDR_EnumSeq
290 #define DDS_LongLongSeq CDR_LongLongSeq
291 #define DDS_OctetSeq CDR_OctetSeq
292 #define DDS_WstringSeq CDR_WstringSeq
293 #define DDS_UnsignedLongLongSeq CDR_UnsignedLongLongSeq
294 #define DDS_CharSeq CDR_CharSeq
295 #define DDS_UnsignedShortSeq CDR_UnsignedShortSeq
296 #define DDS_LongDoubleSeq CDR_LongDoubleSeq
297 #define DDS_StringSeq CDR_StringSeq
298 
299 #if REDA_SEQUENCE_API > REDA_SEQUENCE_API_UNTYPED
300 #define DDS_StringSeq_initialize CDR_StringSeq_initialize
301 #define DDS_UnsignedLongSeq_initialize CDR_UnsignedLongSeq_initialize
302 #define DDS_ShortSeq_initialize CDR_ShortSeq_initialize
303 #define DDS_BooleanSeq_initialize CDR_BooleanSeq_initialize
304 #define DDS_FloatSeq_initialize CDR_FloatSeq_initialize
305 #define DDS_LongSeq_initialize CDR_LongSeq_initialize
306 #define DDS_WcharSeq_initialize CDR_WcharSeq_initialize
307 #define DDS_DoubleSeq_initialize CDR_DoubleSeq_initialize
308 #define DDS_EnumSeq_initialize CDR_EnumSeq_initialize
309 #define DDS_LongLongSeq_initialize CDR_LongLongSeq_initialize
310 #define DDS_OctetSeq_initialize CDR_OctetSeq_initialize
311 #define DDS_WstringSeq_initialize CDR_WstringSeq_initialize
312 #define DDS_UnsignedLongLongSeq_initialize CDR_UnsignedLongLongSeq_initialize
313 #define DDS_CharSeq_initialize CDR_CharSeq_initialize
314 #define DDS_UnsignedShortSeq_initialize CDR_UnsignedShortSeq_initialize
315 #define DDS_LongDoubleSeq_initialize CDR_LongDoubleSeq_initialize
316 
317 #define DDS_StringSeq_set_length CDR_StringSeq_set_length
318 #define DDS_UnsignedLongSeq_set_length CDR_UnsignedLongSeq_set_length
319 #define DDS_ShortSeq_set_length CDR_ShortSeq_set_length
320 #define DDS_BooleanSeq_set_length CDR_BooleanSeq_set_length
321 #define DDS_FloatSeq_set_length CDR_FloatSeq_set_length
322 #define DDS_LongSeq_set_length CDR_LongSeq_set_length
323 #define DDS_WcharSeq_set_length CDR_WcharSeq_set_length
324 #define DDS_DoubleSeq_set_length CDR_DoubleSeq_set_length
325 #define DDS_EnumSeq_set_length CDR_EnumSeq_set_length
326 #define DDS_LongLongSeq_set_length CDR_LongLongSeq_set_length
327 #define DDS_OctetSeq_set_length CDR_OctetSeq_set_length
328 #define DDS_WstringSeq_set_length CDR_WstringSeq_set_length
329 #define DDS_UnsignedLongLongSeq_set_length CDR_UnsignedLongLongSeq_set_length
330 #define DDS_CharSeq_set_length CDR_CharSeq_set_length
331 #define DDS_UnsignedShortSeq_set_length CDR_UnsignedShortSeq_set_length
332 #define DDS_LongDoubleSeq_set_length CDR_LongDoubleSeq_set_length
333 
334 #define DDS_StringSeq_get_length CDR_StringSeq_get_length
335 #define DDS_UnsignedLongSeq_get_length CDR_UnsignedLongSeq_get_length
336 #define DDS_ShortSeq_get_length CDR_ShortSeq_get_length
337 #define DDS_BooleanSeq_get_length CDR_BooleanSeq_get_length
338 #define DDS_FloatSeq_get_length CDR_FloatSeq_get_length
339 #define DDS_LongSeq_get_length CDR_LongSeq_get_length
340 #define DDS_WcharSeq_get_length CDR_WcharSeq_get_length
341 #define DDS_DoubleSeq_get_length CDR_DoubleSeq_get_length
342 #define DDS_EnumSeq_get_length CDR_EnumSeq_get_length
343 #define DDS_LongLongSeq_get_length CDR_LongLongSeq_get_length
344 #define DDS_OctetSeq_get_length CDR_OctetSeq_get_length
345 #define DDS_WstringSeq_get_length CDR_WstringSeq_get_length
346 #define DDS_UnsignedLongLongSeq_get_length CDR_UnsignedLongLongSeq_get_length
347 #define DDS_CharSeq_get_length CDR_CharSeq_get_length
348 #define DDS_UnsignedShortSeq_get_length CDR_UnsignedShortSeq_get_length
349 #define DDS_LongDoubleSeq_get_length CDR_LongDoubleSeq_get_length
350 
351 #define DDS_StringSeq_get_maximum CDR_StringSeq_get_maximum
352 #define DDS_UnsignedLongSeq_get_maximum CDR_UnsignedLongSeq_get_maximum
353 #define DDS_ShortSeq_get_maximum CDR_ShortSeq_get_maximum
354 #define DDS_BooleanSeq_get_maximum CDR_BooleanSeq_get_maximum
355 #define DDS_FloatSeq_get_maximum CDR_FloatSeq_get_maximum
356 #define DDS_LongSeq_get_maximum CDR_LongSeq_get_maximum
357 #define DDS_WcharSeq_get_maximum CDR_WcharSeq_get_maximum
358 #define DDS_DoubleSeq_get_maximum CDR_DoubleSeq_get_maximum
359 #define DDS_EnumSeq_get_maximum CDR_EnumSeq_get_maximum
360 #define DDS_LongLongSeq_get_maximum CDR_LongLongSeq_get_maximum
361 #define DDS_OctetSeq_get_maximum CDR_OctetSeq_get_maximum
362 #define DDS_WstringSeq_get_maximum CDR_WstringSeq_get_maximum
363 #define DDS_UnsignedLongLongSeq_get_maximum CDR_UnsignedLongLongSeq_get_maximum
364 #define DDS_CharSeq_get_maximum CDR_CharSeq_get_maximum
365 #define DDS_UnsignedShortSeq_get_maximum CDR_UnsignedShortSeq_get_maximum
366 #define DDS_LongDoubleSeq_get_maximum CDR_LongDoubleSeq_get_maximum
367 
368 #define DDS_StringSeq_set_maximum REDA_StringSeq_set_maximum
369 #define DDS_StringSeq_set_maximum_w_max REDA_StringSeq_set_maximum_w_max
370 #define DDS_UnsignedLongSeq_set_maximum CDR_UnsignedLongSeq_set_maximum
371 #define DDS_ShortSeq_set_maximum CDR_ShortSeq_set_maximum
372 #define DDS_BooleanSeq_set_maximum CDR_BooleanSeq_set_maximum
373 #define DDS_FloatSeq_set_maximum CDR_FloatSeq_set_maximum
374 #define DDS_LongSeq_set_maximum CDR_LongSeq_set_maximum
375 #define DDS_WcharSeq_set_maximum CDR_WcharSeq_set_maximum
376 #define DDS_DoubleSeq_set_maximum CDR_DoubleSeq_set_maximum
377 #define DDS_EnumSeq_set_maximum CDR_EnumSeq_set_maximum
378 #define DDS_LongLongSeq_set_maximum CDR_LongLongSeq_set_maximum
379 #define DDS_OctetSeq_set_maximum CDR_OctetSeq_set_maximum
380 #define DDS_WstringSeq_set_maximum CDR_WstringSeq_set_maximum
381 #define DDS_UnsignedLongLongSeq_set_maximum CDR_UnsignedLongLongSeq_set_maximum
382 #define DDS_CharSeq_set_maximum CDR_CharSeq_set_maximum
383 #define DDS_UnsignedShortSeq_set_maximum CDR_UnsignedShortSeq_set_maximum
384 #define DDS_LongDoubleSeq_set_maximum CDR_LongDoubleSeq_set_maximum
385 
386 #define DDS_StringSeq_get_reference CDR_StringSeq_get_reference
387 #define DDS_UnsignedLongSeq_get_reference CDR_UnsignedLongSeq_get_reference
388 #define DDS_ShortSeq_get_reference CDR_ShortSeq_get_reference
389 #define DDS_BooleanSeq_get_reference CDR_BooleanSeq_get_reference
390 #define DDS_FloatSeq_get_reference CDR_FloatSeq_get_reference
391 #define DDS_LongSeq_get_reference CDR_LongSeq_get_reference
392 #define DDS_WcharSeq_get_reference CDR_WcharSeq_get_reference
393 #define DDS_DoubleSeq_get_reference CDR_DoubleSeq_get_reference
394 #define DDS_EnumSeq_get_reference CDR_EnumSeq_get_reference
395 #define DDS_LongLongSeq_get_reference CDR_LongLongSeq_get_reference
396 #define DDS_OctetSeq_get_reference CDR_OctetSeq_get_reference
397 #define DDS_WstringSeq_get_reference CDR_WstringSeq_get_reference
398 #define DDS_UnsignedLongLongSeq_get_reference CDR_UnsignedLongLongSeq_get_reference
399 #define DDS_CharSeq_get_reference CDR_CharSeq_get_reference
400 #define DDS_UnsignedShortSeq_get_reference CDR_UnsignedShortSeq_get_reference
401 #define DDS_LongDoubleSeq_get_reference CDR_LongDoubleSeq_get_reference
402 
403 
404 #ifndef RTI_CERT
405 #define DDS_StringSeq_finalize CDR_StringSeq_finalize
406 #define DDS_UnsignedLongSeq_finalize CDR_UnsignedLongSeq_finalize
407 #define DDS_ShortSeq_finalize CDR_ShortSeq_finalize
408 #define DDS_BooleanSeq_finalize CDR_BooleanSeq_finalize
409 #define DDS_FloatSeq_finalize CDR_FloatSeq_finalize
410 #define DDS_LongSeq_finalize CDR_LongSeq_finalize
411 #define DDS_WcharSeq_finalize CDR_WcharSeq_finalize
412 #define DDS_DoubleSeq_finalize CDR_DoubleSeq_finalize
413 #define DDS_EnumSeq_finalize CDR_EnumSeq_finalize
414 #define DDS_LongLongSeq_finalize CDR_LongLongSeq_finalize
415 #define DDS_OctetSeq_finalize CDR_OctetSeq_finalize
416 #define DDS_WstringSeq_finalize CDR_WstringSeq_finalize
417 #define DDS_UnsignedLongLongSeq_finalize CDR_UnsignedLongLongSeq_finalize
418 #define DDS_CharSeq_finalize CDR_CharSeq_finalize
419 #define DDS_UnsignedShortSeq_finalize CDR_UnsignedShortSeq_finalize
420 #define DDS_LongDoubleSeq_finalize CDR_LongDoubleSeq_finalize
421 #endif /* RTI_CERT */
422 #endif /* REDA_SEQUENCE_API_UNTYPED */
423 
424 /* This one is used internally and must be present */
425 #define DDS_StringSeq_is_equal REDA_StringSeq_is_equal
426 
427 #define DDS_StringSeq_copy REDA_StringSeq_copy
428 #define DDS_StringSeq_copy_w_max REDA_StringSeq_copy_w_max
429 #define DDS_UnsignedLongSeq_copy CDR_UnsignedLongSeq_copy
430 #define DDS_ShortSeq_copy CDR_ShortSeq_copy
431 #define DDS_BooleanSeq_copy CDR_BooleanSeq_copy
432 #define DDS_FloatSeq_copy CDR_FloatSeq_copy
433 #define DDS_LongSeq_copy CDR_LongSeq_copy
434 #define DDS_WcharSeq_copy CDR_WcharSeq_copy
435 #define DDS_DoubleSeq_copy CDR_DoubleSeq_copy
436 #define DDS_EnumSeq_copy CDR_EnumSeq_copy
437 #define DDS_LongLongSeq_copy CDR_LongLongSeq_copy
438 #define DDS_OctetSeq_copy CDR_OctetSeq_copy
439 #define DDS_WstringSeq_copy CDR_WstringSeq_copy
440 #define DDS_UnsignedLongLongSeq_copy CDR_UnsignedLongLongSeq_copy
441 #define DDS_CharSeq_copy CDR_CharSeq_copy
442 #define DDS_UnsignedShortSeq_copy CDR_UnsignedShortSeq_copy
443 #define DDS_LongDoubleSeq_copy CDR_LongDoubleSeq_copy
444 
445 /* Define the following aliases if the DEFAULT API is > BASIC */
446 #if REDA_SEQUENCE_API_USER_DEFAULT > REDA_SEQUENCE_API_BASIC
447 
448 #define DDS_UnsignedLongSeq_is_equal CDR_UnsignedLongSeq_is_equal
449 #define DDS_ShortSeq_is_equal CDR_ShortSeq_is_equal
450 #define DDS_BooleanSeq_is_equal CDR_BooleanSeq_is_equal
451 #define DDS_FloatSeq_is_equal CDR_FloatSeq_is_equal
452 #define DDS_LongSeq_is_equal CDR_LongSeq_is_equal
453 #define DDS_WcharSeq_is_equal CDR_WcharSeq_is_equal
454 #define DDS_DoubleSeq_is_equal CDR_DoubleSeq_is_equal
455 #define DDS_EnumSeq_is_equal CDR_EnumSeq_is_equal
456 #define DDS_LongLongSeq_is_equal CDR_LongLongSeq_is_equal
457 #define DDS_OctetSeq_is_equal CDR_OctetSeq_is_equal
458 #define DDS_WstringSeq_is_equal CDR_WstringSeq_is_equal
459 #define DDS_UnsignedLongLongSeq_is_equal CDR_UnsignedLongLongSeq_is_equal
460 #define DDS_CharSeq_is_equal CDR_CharSeq_is_equal
461 #define DDS_UnsignedShortSeq_is_equal CDR_UnsignedShortSeq_is_equal
462 #define DDS_LongDoubleSeq_is_equal CDR_LongDoubleSeq_is_equal
463 
464 #define DDS_StringSeq_loan_contiguous CDR_StringSeq_loan_contiguous
465 #define DDS_UnsignedLongSeq_loan_contiguous CDR_UnsignedLongSeq_loan_contiguous
466 #define DDS_ShortSeq_loan_contiguous CDR_ShortSeq_loan_contiguous
467 #define DDS_BooleanSeq_loan_contiguous CDR_BooleanSeq_loan_contiguous
468 #define DDS_FloatSeq_loan_contiguous CDR_FloatSeq_loan_contiguous
469 #define DDS_LongSeq_loan_contiguous CDR_LongSeq_loan_contiguous
470 #define DDS_WcharSeq_loan_contiguous CDR_WcharSeq_loan_contiguous
471 #define DDS_DoubleSeq_loan_contiguous CDR_DoubleSeq_loan_contiguous
472 #define DDS_EnumSeq_loan_contiguous CDR_EnumSeq_loan_contiguous
473 #define DDS_LongLongSeq_loan_contiguous CDR_LongLongSeq_loan_contiguous
474 #define DDS_OctetSeq_loan_contiguous CDR_OctetSeq_loan_contiguous
475 #define DDS_WstringSeq_loan_contiguous CDR_WstringSeq_loan_contiguous
476 #define DDS_UnsignedLongLongSeq_loan_contiguous CDR_UnsignedLongLongSeq_loan_contiguous
477 #define DDS_CharSeq_loan_contiguous CDR_CharSeq_loan_contiguous
478 #define DDS_UnsignedShortSeq_loan_contiguous CDR_UnsignedShortSeq_loan_contiguous
479 #define DDS_LongDoubleSeq_loan_contiguous CDR_LongDoubleSeq_loan_contiguous
480 
481 #define DDS_StringSeq_loan_discontiguous CDR_StringSeq_loan_discontiguous
482 #define DDS_UnsignedLongSeq_loan_discontiguous CDR_UnsignedLongSeq_loan_discontiguous
483 #define DDS_ShortSeq_loan_discontiguous CDR_ShortSeq_loan_discontiguous
484 #define DDS_BooleanSeq_loan_discontiguous CDR_BooleanSeq_loan_discontiguous
485 #define DDS_FloatSeq_loan_discontiguous CDR_FloatSeq_loan_discontiguous
486 #define DDS_LongSeq_loan_discontiguous CDR_LongSeq_loan_discontiguous
487 #define DDS_WcharSeq_loan_discontiguous CDR_WcharSeq_loan_discontiguous
488 #define DDS_DoubleSeq_loan_discontiguous CDR_DoubleSeq_loan_discontiguous
489 #define DDS_EnumSeq_loan_discontiguous CDR_EnumSeq_loan_discontiguous
490 #define DDS_LongLongSeq_loan_discontiguous CDR_LongLongSeq_loan_discontiguous
491 #define DDS_OctetSeq_loan_discontiguous CDR_OctetSeq_loan_discontiguous
492 #define DDS_WstringSeq_loan_discontiguous CDR_WstringSeq_loan_discontiguous
493 #define DDS_UnsignedLongLongSeq_loan_discontiguous CDR_UnsignedLongLongSeq_loan_discontiguous
494 #define DDS_CharSeq_loan_discontiguous CDR_CharSeq_loan_discontiguous
495 #define DDS_UnsignedShortSeq_loan_discontiguous CDR_UnsignedShortSeq_loan_discontiguous
496 #define DDS_LongDoubleSeq_loan_discontiguous CDR_LongDoubleSeq_loan_discontiguous
497 
498 #define DDS_StringSeq_has_ownership CDR_StringSeq_has_ownership
499 #define DDS_UnsignedLongSeq_has_ownership CDR_UnsignedLongSeq_has_ownership
500 #define DDS_ShortSeq_has_ownership CDR_ShortSeq_has_ownership
501 #define DDS_BooleanSeq_has_ownership CDR_BooleanSeq_has_ownership
502 #define DDS_FloatSeq_has_ownership CDR_FloatSeq_has_ownership
503 #define DDS_LongSeq_has_ownership CDR_LongSeq_has_ownership
504 #define DDS_WcharSeq_has_ownership CDR_WcharSeq_has_ownership
505 #define DDS_DoubleSeq_has_ownership CDR_DoubleSeq_has_ownership
506 #define DDS_EnumSeq_has_ownership CDR_EnumSeq_has_ownership
507 #define DDS_LongLongSeq_has_ownership CDR_LongLongSeq_has_ownership
508 #define DDS_OctetSeq_has_ownership CDR_OctetSeq_has_ownership
509 #define DDS_WstringSeq_has_ownership CDR_WstringSeq_has_ownership
510 #define DDS_UnsignedLongLongSeq_has_ownership CDR_UnsignedLongLongSeq_has_ownership
511 #define DDS_CharSeq_has_ownership CDR_CharSeq_has_ownership
512 #define DDS_UnsignedShortSeq_has_ownership CDR_UnsignedShortSeq_has_ownership
513 #define DDS_LongDoubleSeq_has_ownership CDR_LongDoubleSeq_has_ownership
514 
515 #define DDS_UnsignedLongSeq_has_discontiguous_buffer CDR_UnsignedLongSeq_has_discontiguous_buffer
516 #define DDS_StringSeq_has_discontiguous_buffer CDR_StringSeq_has_discontiougous_buffer
517 #define DDS_ShortSeq_has_discontiguous_buffer CDR_ShortSeq_has_discontiguous_buffer
518 #define DDS_BooleanSeq_has_discontiguous_buffer CDR_BooleanSeq_has_discontiguous_buffer
519 #define DDS_FloatSeq_has_discontiguous_buffer CDR_FloatSeq_has_discontiguous_buffer
520 #define DDS_LongSeq_has_discontiguous_buffer CDR_LongSeq_has_discontiguous_buffer
521 #define DDS_WcharSeq_has_discontiguous_buffer CDR_WcharSeq_has_discontiguous_buffer
522 #define DDS_DoubleSeq_has_discontiguous_buffer CDR_DoubleSeq_has_discontiguous_buffer
523 #define DDS_EnumSeq_has_discontiguous_buffer CDR_EnumSeq_has_discontiguous_buffer
524 #define DDS_LongLongSeq_has_discontiguous_buffer CDR_LongLongSeq_has_discontiguous_buffer
525 #define DDS_OctetSeq_has_discontiguous_buffer CDR_OctetSeq_has_discontiguous_buffer
526 #define DDS_WstringSeq_has_discontiguous_buffer CDR_WstringSeq_has_discontiguous_buffer
527 #define DDS_UnsignedLongLongSeq_has_discontiguous_buffer CDR_UnsignedLongLongSeq_has_discontiguous_buffer
528 #define DDS_CharSeq_has_discontiguous_buffer CDR_CharSeq_has_discontiguous_buffer
529 #define DDS_UnsignedShortSeq_has_discontiguous_buffer CDR_UnsignedShortSeq_has_discontiguous_buffer
530 #define DDS_LongDoubleSeq_has_discontiguous_buffer CDR_LongDoubleSeq_has_discontiguous_buffer
531 
532 #define DDS_StringSeq_get_contiguous_buffer CDR_StringSeq_get_contiguous_buffer
533 #define DDS_UnsignedLongSeq_get_contiguous_buffer CDR_UnsignedLongSeq_get_contiguous_buffer
534 #define DDS_ShortSeq_get_contiguous_buffer CDR_ShortSeq_get_contiguous_buffer
535 #define DDS_BooleanSeq_get_contiguous_buffer CDR_BooleanSeq_get_contiguous_buffer
536 #define DDS_FloatSeq_get_contiguous_buffer CDR_FloatSeq_get_contiguous_buffer
537 #define DDS_LongSeq_get_contiguous_buffer CDR_LongSeq_get_contiguous_buffer
538 #define DDS_WcharSeq_get_contiguous_buffer CDR_WcharSeq_get_contiguous_buffer
539 #define DDS_DoubleSeq_get_contiguous_buffer CDR_DoubleSeq_get_contiguous_buffer
540 #define DDS_EnumSeq_get_contiguous_buffer CDR_EnumSeq_get_contiguous_buffer
541 #define DDS_LongLongSeq_get_contiguous_buffer CDR_LongLongSeq_get_contiguous_buffer
542 #define DDS_OctetSeq_get_contiguous_buffer CDR_OctetSeq_get_contiguous_buffer
543 #define DDS_WstringSeq_get_contiguous_buffer CDR_WstringSeq_get_contiguous_buffer
544 #define DDS_UnsignedLongLongSeq_get_contiguous_buffer CDR_UnsignedLongLongSeq_get_contiguous_buffer
545 #define DDS_CharSeq_get_contiguous_buffer CDR_CharSeq_get_contiguous_buffer
546 #define DDS_UnsignedShortSeq_get_contiguous_buffer CDR_UnsignedShortSeq_get_contiguous_buffer
547 #define DDS_LongDoubleSeq_get_contiguous_buffer CDR_LongDoubleSeq_get_contiguous_buffer
548 
549 #define DDS_StringSeq_set_contiguous_buffer CDR_StringSeq_set_contiguous_buffer
550 #define DDS_UnsignedLongSeq_set_contiguous_buffer CDR_UnsignedLongSeq_set_contiguous_buffer
551 #define DDS_ShortSeq_set_contiguous_buffer CDR_ShortSeq_set_contiguous_buffer
552 #define DDS_BooleanSeq_set_contiguous_buffer CDR_BooleanSeq_set_contiguous_buffer
553 #define DDS_FloatSeq_set_contiguous_buffer CDR_FloatSeq_set_contiguous_buffer
554 #define DDS_LongSeq_set_contiguous_buffer CDR_LongSeq_set_contiguous_buffer
555 #define DDS_WcharSeq_set_contiguous_buffer CDR_WcharSeq_set_contiguous_buffer
556 #define DDS_DoubleSeq_set_contiguous_buffer CDR_DoubleSeq_set_contiguous_buffer
557 #define DDS_EnumSeq_set_contiguous_buffer CDR_EnumSeq_set_contiguous_buffer
558 #define DDS_LongLongSeq_set_contiguous_buffer CDR_LongLongSeq_set_contiguous_buffer
559 #define DDS_OctetSeq_set_contiguous_buffer CDR_OctetSeq_set_contiguous_buffer
560 #define DDS_WstringSeq_set_contiguous_buffer CDR_WstringSeq_set_contiguous_buffer
561 #define DDS_UnsignedLongLongSeq_set_contiguous_buffer CDR_UnsignedLongLongSeq_set_contiguous_buffer
562 #define DDS_CharSeq_set_contiguous_buffer CDR_CharSeq_set_contiguous_buffer
563 #define DDS_UnsignedShortSeq_set_contiguous_buffer CDR_UnsignedShortSeq_set_contiguous_buffer
564 #define DDS_LongDoubleSeq_set_contiguous_buffer CDR_LongDoubleSeq_set_contiguous_buffer
565 
566 #define DDS_StringSeq_unloan CDR_StringSeq_unloan
567 #define DDS_UnsignedLongSeq_unloan CDR_UnsignedLongSeq_unloan
568 #define DDS_ShortSeq_unloan CDR_ShortSeq_unloan
569 #define DDS_BooleanSeq_unloan CDR_BooleanSeq_unloan
570 #define DDS_FloatSeq_unloan CDR_FloatSeq_unloan
571 #define DDS_LongSeq_unloan CDR_LongSeq_unloan
572 #define DDS_WcharSeq_unloan CDR_WcharSeq_unloan
573 #define DDS_DoubleSeq_unloan CDR_DoubleSeq_unloan
574 #define DDS_EnumSeq_unloan CDR_EnumSeq_unloan
575 #define DDS_LongLongSeq_unloan CDR_LongLongSeq_unloan
576 #define DDS_OctetSeq_unloan CDR_OctetSeq_unloan
577 #define DDS_WstringSeq_unloan CDR_WstringSeq_unloan
578 #define DDS_UnsignedLongLongSeq_unloan CDR_UnsignedLongLongSeq_unloan
579 #define DDS_CharSeq_unloan CDR_CharSeq_unloan
580 #define DDS_UnsignedShortSeq_unloan CDR_UnsignedShortSeq_unloan
581 #define DDS_LongDoubleSeq_unloan CDR_LongDoubleSeq_unloan
582 
583 #define DDS_StringSeq_ensure_length REDA_StringSeq_ensure_length
584 #define DDS_StringSeq_ensure_length_w_max REDA_StringSeq_ensure_length_w_max
585 #define DDS_UnsignedLongSeq_ensure_length CDR_UnsignedLongSeq_ensure_length
586 #define DDS_ShortSeq_ensure_length CDR_ShortSeq_ensure_length
587 #define DDS_BooleanSeq_ensure_length CDR_BooleanSeq_ensure_length
588 #define DDS_FloatSeq_ensure_length CDR_FloatSeq_ensure_length
589 #define DDS_LongSeq_ensure_length CDR_LongSeq_ensure_length
590 #define DDS_WcharSeq_ensure_length CDR_WcharSeq_ensure_length
591 #define DDS_DoubleSeq_ensure_length CDR_DoubleSeq_ensure_length
592 #define DDS_EnumSeq_ensure_length CDR_EnumSeq_ensure_length
593 #define DDS_LongLongSeq_ensure_length CDR_LongLongSeq_ensure_length
594 #define DDS_OctetSeq_ensure_length CDR_OctetSeq_ensure_length
595 #define DDS_WstringSeq_ensure_length CDR_WstringSeq_ensure_length
596 #define DDS_UnsignedLongLongSeq_ensure_length CDR_UnsignedLongLongSeq_ensure_length
597 #define DDS_CharSeq_ensure_length CDR_CharSeq_ensure_length
598 #define DDS_UnsignedShortSeq_ensure_length CDR_UnsignedShortSeq_ensure_length
599 #define DDS_LongDoubleSeq_ensure_length CDR_LongDoubleSeq_ensure_length
600 
601 #define DDS_StringSeq_to_array REDA_StringSeq_to_array
602 #define DDS_StringSeq_to_array_w_max REDA_StringSeq_to_array_w_max
603 #define DDS_UnsignedLongSeq_to_array CDR_UnsignedLongSeq_to_array
604 #define DDS_ShortSeq_to_array CDR_ShortSeq_to_array
605 #define DDS_BooleanSeq_to_array CDR_BooleanSeq_to_array
606 #define DDS_FloatSeq_to_array CDR_FloatSeq_to_array
607 #define DDS_LongSeq_to_array CDR_LongSeq_to_array
608 #define DDS_WcharSeq_to_array CDR_WcharSeq_to_array
609 #define DDS_DoubleSeq_to_array CDR_DoubleSeq_to_array
610 #define DDS_EnumSeq_to_array CDR_EnumSeq_to_array
611 #define DDS_LongLongSeq_to_array CDR_LongLongSeq_to_array
612 #define DDS_OctetSeq_to_array CDR_OctetSeq_to_array
613 #define DDS_WstringSeq_to_array CDR_WstringSeq_to_array
614 #define DDS_UnsignedLongLongSeq_to_array CDR_UnsignedLongLongSeq_to_array
615 #define DDS_CharSeq_to_array CDR_CharSeq_to_array
616 #define DDS_UnsignedShortSeq_to_array CDR_UnsignedShortSeq_to_array
617 #define DDS_LongDoubleSeq_to_array CDR_LongDoubleSeq_to_array
618 
619 #define DDS_StringSeq_from_array REDA_StringSeq_from_array
620 #define DDS_StringSeq_from_array_w_max REDA_StringSeq_from_array_w_max
621 #define DDS_UnsignedLongSeq_from_array CDR_UnsignedLongSeq_from_array
622 #define DDS_ShortSeq_from_array CDR_ShortSeq_from_array
623 #define DDS_BooleanSeq_from_array CDR_BooleanSeq_from_array
624 #define DDS_FloatSeq_from_array CDR_FloatSeq_from_array
625 #define DDS_LongSeq_from_array CDR_LongSeq_from_array
626 #define DDS_WcharSeq_from_array CDR_WcharSeq_from_array
627 #define DDS_DoubleSeq_from_array CDR_DoubleSeq_from_array
628 #define DDS_EnumSeq_from_array CDR_EnumSeq_from_array
629 #define DDS_LongLongSeq_from_array CDR_LongLongSeq_from_array
630 #define DDS_OctetSeq_from_array CDR_OctetSeq_from_array
631 #define DDS_WstringSeq_from_array CDR_WstringSeq_from_array
632 #define DDS_UnsignedLongLongSeq_from_array CDR_UnsignedLongLongSeq_from_array
633 #define DDS_CharSeq_from_array CDR_CharSeq_from_array
634 #define DDS_UnsignedShortSeq_from_array CDR_UnsignedShortSeq_from_array
635 #define DDS_LongDoubleSeq_from_array CDR_LongDoubleSeq_from_array
636 
637 #endif /* REDA_SEQUENCE_API > REDA_SEQUENCE_API_BASIC */
638 
639 #if REDA_SEQUENCE_API > REDA_SEQUENCE_API_FULL
640 #error "REDA_SEQUENCE_API_UNTYPED <= REDA_SEQUENCE_API <= REDA_SEQUENCE_API_FULL"
641 #endif /* REDA_SEQUENCE_API > REDA_SEQUENCE_API_FULL */
642 
643 #ifdef __cplusplus
644 } /* extern "C" */
645 #endif
646 
647 
648 #endif /* dds_c_sequence_h */

RTI Connext DDS Micro Version 2.4.10 Copyright © Fri Jun 30 2017 Real-Time Innovations, Inc