40 unsigned char result[16];
73 #define OPENDDS_BRANCH_ACTIVATE(T, N) \ 74 active_ = new(N ## _) T(); \ 75 if (other) N() = other->N(); \ 103 std::memcpy(equivalence_hash(), other->equivalence_hash(),
sizeof(
EquivalenceHash));
140 #define OPENDDS_BRANCH_RESET(T) static_cast<T*>(active_)->~T(); break 189 if (&other ==
this) {
202 string_sdefn() = sdefn;
209 string_ldefn() = ldefn;
230 array_sdefn() = sdefn;
237 array_ldefn() = ldefn;
244 std::memcpy(equivalence_hash(), eh.
eh_,
sizeof eh.
eh_);
251 sc_component_id() = id;
264 unsigned char result[16];
291 if (&other ==
this) {
302 #define OPENDDS_BRANCH_ACTIVATE(T, N) \ 303 active_ = new(N ## _) T(); \ 304 if (other) N() = other->N(); \ 359 #define OPENDDS_BRANCH_RESET(T) static_cast<T*>(active_)->~T(); break 393 unsigned char result[16];
396 std::memcpy(&name_hash, result,
sizeof name_hash);
402 unsigned char result[16];
405 std::memcpy(&name_hash, result,
sizeof name_hash);
432 return ti.seq_sdefn().header.equiv_kind ==
EK_BOTH;
434 return ti.seq_ldefn().header.equiv_kind ==
EK_BOTH;
436 return ti.array_sdefn().header.equiv_kind ==
EK_BOTH;
438 return ti.array_ldefn().header.equiv_kind ==
EK_BOTH;
440 return ti.map_sdefn().header.equiv_kind ==
EK_BOTH;
442 return ti.map_ldefn().header.equiv_kind ==
EK_BOTH;
468 template <
typename T>
879 switch (type_object.
kind) {
917 switch (type_object.
kind) {
955 switch (type_object.
kind) {
1043 template <
typename T>
1059 if (dependencies.count(type_identifier) != 0) {
1063 dependencies.insert(type_identifier);
1065 switch (type_identifier.
kind()) {
1098 TypeMap::const_iterator pos = type_map.find(type_identifier);
1099 if (pos != type_map.end()) {
1116 size_t total_size = 0;
1120 return strm.
skip(total_size);
1169 return "annotation";
1185 "passed unknown TypeKind %u\n", tk));
1267 switch (uni.
kind()) {
1338 switch (uni.
kind()) {
1341 return (strm << uni.string_sdefn());
1344 return (strm << uni.string_ldefn());
1346 return (strm << uni.seq_sdefn());
1348 return (strm << uni.seq_ldefn());
1350 return (strm << uni.array_sdefn());
1352 return (strm << uni.array_ldefn());
1354 return (strm << uni.map_sdefn());
1356 return (strm << uni.map_ldefn());
1358 return (strm << uni.sc_component_id());
1363 return (strm << uni_equivalence_hash);
1383 return (strm << uni.extended_defn());
1387 bool operator<<(Serializer& strm, const NestedKeyOnly<const XTypes::TypeIdentifier>& uni)
1389 return (strm << uni.value);
1403 return (strm >> uni.string_sdefn());
1406 return (strm >> uni.string_ldefn());
1408 return (strm >> uni.seq_sdefn());
1410 return (strm >> uni.seq_ldefn());
1412 return (strm >> uni.array_sdefn());
1414 return (strm >> uni.array_ldefn());
1416 return (strm >> uni.map_sdefn());
1418 return (strm >> uni.map_ldefn());
1420 return (strm >> uni.sc_component_id());
1425 return (strm >> uni_equivalence_hash);
1445 return (strm >> uni.extended_defn());
1451 return (strm >> uni.
value);
1467 if (!(strm << length)) {
1479 if (!(strm >> length)) {
1503 if (!(strm << length)) {
1515 if (!(strm >> length)) {
1539 if (!(strm << length)) {
1551 if (!(strm >> length)) {
1647 size_t total_size = 0;
1654 && (strm << stru.
detail);
1659 size_t total_size = 0;
1664 const size_t start_pos = strm.
rpos();
1666 const bool ret = (strm >> stru.
base_type)
1667 && (strm >> stru.
detail);
1669 if (ret && strm.
rpos() - start_pos < total_size) {
1670 strm.
skip(total_size - strm.
rpos() + start_pos);
1686 size_t total_size = 0;
1693 && (strm << stru.
detail);
1698 size_t total_size = 0;
1703 const size_t start_pos = strm.
rpos();
1705 const bool ret = (strm >> stru.
base_type)
1706 && (strm >> stru.
detail);
1708 if (ret && strm.
rpos() - start_pos < total_size) {
1709 strm.
skip(total_size - strm.
rpos() + start_pos);
1870 && (strm << stru.
body);
1877 && (strm >> stru.
body);
1893 && (strm << stru.
body);
1900 && (strm >> stru.
body);
1961 size_t total_size = 0;
1974 size_t total_size = 0;
1979 const size_t start_pos = strm.
rpos();
1985 if (ret && strm.
rpos() - start_pos < total_size) {
1986 strm.
skip(total_size - strm.
rpos() + start_pos);
2028 && (strm << stru.
key)
2036 && (strm >> stru.
key)
2054 && (strm << stru.
key)
2062 && (strm >> stru.
key)
2077 size_t total_size = 0;
2083 return (strm << stru.
common)
2084 && (strm << stru.
detail);
2089 size_t total_size = 0;
2094 const size_t start_pos = strm.
rpos();
2096 const bool ret = (strm >> stru.
common)
2097 && (strm >> stru.
detail);
2099 if (ret && strm.
rpos() - start_pos < total_size) {
2100 strm.
skip(total_size - strm.
rpos() + start_pos);
2114 size_t total_size = 0;
2120 return (strm << stru.
common);
2125 size_t total_size = 0;
2130 const size_t start_pos = strm.
rpos();
2132 const bool ret = (strm >> stru.
common);
2134 if (ret && strm.
rpos() - start_pos < total_size) {
2135 strm.
skip(total_size - strm.
rpos() + start_pos);
2198 size_t total_size = 0;
2211 size_t total_size = 0;
2216 const size_t start_pos = strm.
rpos();
2222 if (ret && strm.
rpos() - start_pos < total_size) {
2223 strm.
skip(total_size - strm.
rpos() + start_pos);
2240 size_t total_size = 0;
2253 size_t total_size = 0;
2258 const size_t start_pos = strm.
rpos();
2264 if (ret && strm.
rpos() - start_pos < total_size) {
2265 strm.
skip(total_size - strm.
rpos() + start_pos);
2282 size_t total_size = 0;
2295 size_t total_size = 0;
2300 const size_t start_pos = strm.
rpos();
2306 if (ret && strm.
rpos() - start_pos < total_size) {
2307 strm.
skip(total_size - strm.
rpos() + start_pos);
2324 size_t total_size = 0;
2337 size_t total_size = 0;
2342 const size_t start_pos = strm.
rpos();
2348 if (ret && strm.
rpos() - start_pos < total_size) {
2349 strm.
skip(total_size - strm.
rpos() + start_pos);
2388 size_t total_size = 0;
2398 bool operator<<(Serializer& strm, const NestedKeyOnly<const XTypes::TypeIdentifierWithSize>& stru)
2400 return (strm << stru.value);
2405 size_t total_size = 0;
2410 const size_t start_pos = strm.
rpos();
2412 const bool ret = (strm >> stru.
type_id)
2415 if (ret && strm.
rpos() - start_pos < total_size) {
2416 strm.
skip(total_size - strm.
rpos() + start_pos);
2423 return (strm >> stru.
value);
2437 size_t total_size = 0;
2450 size_t total_size = 0;
2455 const size_t start_pos = strm.
rpos();
2461 if (ret && strm.
rpos() - start_pos < total_size) {
2462 strm.
skip(total_size - strm.
rpos() + start_pos);
2478 size_t total_size = 0;
2490 size_t total_size = 0;
2495 const size_t start_pos = strm.
rpos();
2499 if (ret && strm.
rpos() - start_pos < total_size) {
2500 strm.
skip(total_size - strm.
rpos() + start_pos);
2515 size_t total_size = 0;
2526 size_t total_size = 0;
2531 const size_t start_pos = strm.
rpos();
2533 const bool ret = (strm >> stru.
verbatim);
2535 if (ret && strm.
rpos() - start_pos < total_size) {
2536 strm.
skip(total_size - strm.
rpos() + start_pos);
2553 size_t total_size = 0;
2559 return (strm << stru.
common)
2566 size_t total_size = 0;
2571 const size_t start_pos = strm.
rpos();
2573 const bool ret = (strm >> stru.
common)
2577 if (ret && strm.
rpos() - start_pos < total_size) {
2578 strm.
skip(total_size - strm.
rpos() + start_pos);
2593 size_t total_size = 0;
2599 return (strm << stru.
detail);
2604 size_t total_size = 0;
2609 const size_t start_pos = strm.
rpos();
2611 const bool ret = (strm >> stru.
detail);
2613 if (ret && strm.
rpos() - start_pos < total_size) {
2614 strm.
skip(total_size - strm.
rpos() + start_pos);
2630 size_t total_size = 0;
2641 size_t total_size = 0;
2646 const size_t start_pos = strm.
rpos();
2650 if (ret && strm.
rpos() - start_pos < total_size) {
2651 strm.
skip(total_size - strm.
rpos() + start_pos);
2669 size_t total_size = 0;
2675 return (strm << stru.
common)
2682 size_t total_size = 0;
2687 const size_t start_pos = strm.
rpos();
2689 const bool ret = (strm >> stru.
common)
2693 if (ret && strm.
rpos() - start_pos < total_size) {
2694 strm.
skip(total_size - strm.
rpos() + start_pos);
2710 size_t total_size = 0;
2716 return (strm << stru.
common)
2717 && (strm << stru.
detail);
2722 size_t total_size = 0;
2727 const size_t start_pos = strm.
rpos();
2729 const bool ret = (strm >> stru.
common)
2730 && (strm >> stru.
detail);
2732 if (ret && strm.
rpos() - start_pos < total_size) {
2733 strm.
skip(total_size - strm.
rpos() + start_pos);
2749 size_t total_size = 0;
2755 return (strm << stru.
common)
2756 && (strm << stru.
detail);
2761 size_t total_size = 0;
2766 const size_t start_pos = strm.
rpos();
2768 const bool ret = (strm >> stru.
common)
2769 && (strm >> stru.
detail);
2771 if (ret && strm.
rpos() - start_pos < total_size) {
2772 strm.
skip(total_size - strm.
rpos() + start_pos);
2788 size_t total_size = 0;
2794 return (strm << stru.
common)
2795 && (strm << stru.
detail);
2800 size_t total_size = 0;
2805 const size_t start_pos = strm.
rpos();
2807 const bool ret = (strm >> stru.
common)
2808 && (strm >> stru.
detail);
2810 if (ret && strm.
rpos() - start_pos < total_size) {
2811 strm.
skip(total_size - strm.
rpos() + start_pos);
2826 size_t total_size = 0;
2832 return (strm << stru.
detail);
2837 size_t total_size = 0;
2842 const size_t start_pos = strm.
rpos();
2844 const bool ret = (strm >> stru.
detail);
2846 if (ret && strm.
rpos() - start_pos < total_size) {
2847 strm.
skip(total_size - strm.
rpos() + start_pos);
2863 size_t total_size = 0;
2869 return (strm << stru.
common)
2870 && (strm << stru.
detail);
2875 size_t total_size = 0;
2880 const size_t start_pos = strm.
rpos();
2882 const bool ret = (strm >> stru.
common)
2883 && (strm >> stru.
detail);
2885 if (ret && strm.
rpos() - start_pos < total_size) {
2886 strm.
skip(total_size - strm.
rpos() + start_pos);
2902 size_t total_size = 0;
2908 return (strm << stru.
common)
2909 && (strm << stru.
detail);
2914 size_t total_size = 0;
2919 const size_t start_pos = strm.
rpos();
2921 const bool ret = (strm >> stru.
common)
2922 && (strm >> stru.
detail);
2924 if (ret && strm.
rpos() - start_pos < total_size) {
2925 strm.
skip(total_size - strm.
rpos() + start_pos);
2942 size_t total_size = 0;
2948 return (strm << stru.
common)
2955 size_t total_size = 0;
2960 const size_t start_pos = strm.
rpos();
2962 const bool ret = (strm >> stru.
common)
2966 if (ret && strm.
rpos() - start_pos < total_size) {
2967 strm.
skip(total_size - strm.
rpos() + start_pos);
2983 size_t total_size = 0;
2989 return (strm << stru.
common)
2990 && (strm << stru.
detail);
2995 size_t total_size = 0;
3000 const size_t start_pos = strm.
rpos();
3002 const bool ret = (strm >> stru.
common)
3003 && (strm >> stru.
detail);
3005 if (ret && strm.
rpos() - start_pos < total_size) {
3006 strm.
skip(total_size - strm.
rpos() + start_pos);
3022 size_t total_size = 0;
3028 return (strm << stru.
common)
3029 && (strm << stru.
detail);
3034 size_t total_size = 0;
3039 const size_t start_pos = strm.
rpos();
3041 const bool ret = (strm >> stru.
common)
3042 && (strm >> stru.
detail);
3044 if (ret && strm.
rpos() - start_pos < total_size) {
3045 strm.
skip(total_size - strm.
rpos() + start_pos);
3061 size_t total_size = 0;
3067 return (strm << stru.
detail);
3072 size_t total_size = 0;
3077 const size_t start_pos = strm.
rpos();
3079 const bool ret = (strm >> stru.
detail);
3081 if (ret && strm.
rpos() - start_pos < total_size) {
3082 strm.
skip(total_size - strm.
rpos() + start_pos);
3098 size_t total_size = 0;
3104 return (strm << stru.
common)
3105 && (strm << stru.
detail);
3110 size_t total_size = 0;
3115 const size_t start_pos = strm.
rpos();
3117 const bool ret = (strm >> stru.
common)
3118 && (strm >> stru.
detail);
3120 if (ret && strm.
rpos() - start_pos < total_size) {
3121 strm.
skip(total_size - strm.
rpos() + start_pos);
3136 size_t total_size = 0;
3142 return (strm << stru.
common);
3147 size_t total_size = 0;
3152 const size_t start_pos = strm.
rpos();
3154 const bool ret = (strm >> stru.
common);
3156 if (ret && strm.
rpos() - start_pos < total_size) {
3157 strm.
skip(total_size - strm.
rpos() + start_pos);
3209 size_t total_size = 0;
3216 return (strm << stru.
common)
3217 && (strm << stru_name_hash)
3224 size_t total_size = 0;
3229 const size_t start_pos = strm.
rpos();
3231 const bool ret = (strm >> stru.
common)
3232 && (strm >> stru_name_hash)
3235 if (ret && strm.
rpos() - start_pos < total_size) {
3236 strm.
skip(total_size - strm.
rpos() + start_pos);
3251 size_t total_size = 0;
3257 return (strm << stru.
common);
3262 size_t total_size = 0;
3267 const size_t start_pos = strm.
rpos();
3269 const bool ret = (strm >> stru.
common);
3271 if (ret && strm.
rpos() - start_pos < total_size) {
3272 strm.
skip(total_size - strm.
rpos() + start_pos);
3289 size_t total_size = 0;
3296 return (strm << stru.
common)
3297 && (strm << stru_name_hash);
3303 size_t total_size = 0;
3308 const size_t start_pos = strm.
rpos();
3310 const bool ret = (strm >> stru.
common)
3311 && (strm >> stru_name_hash);
3313 if (ret && strm.
rpos() - start_pos < total_size) {
3314 strm.
skip(total_size - strm.
rpos() + start_pos);
3330 size_t total_size = 0;
3336 return (strm << stru.
common)
3337 && (strm << stru.
detail);
3342 size_t total_size = 0;
3347 const size_t start_pos = strm.
rpos();
3349 const bool ret = (strm >> stru.
common)
3350 && (strm >> stru.
detail);
3352 if (ret && strm.
rpos() - start_pos < total_size) {
3353 strm.
skip(total_size - strm.
rpos() + start_pos);
3385 size_t total_size = 0;
3391 return (strm << stru.
common);
3396 size_t total_size = 0;
3401 const size_t start_pos = strm.
rpos();
3403 const bool ret = (strm >> stru.
common);
3405 if (ret && strm.
rpos() - start_pos < total_size) {
3406 strm.
skip(total_size - strm.
rpos() + start_pos);
3421 size_t total_size = 0;
3427 return (strm << stru.
common);
3432 size_t total_size = 0;
3437 const size_t start_pos = strm.
rpos();
3439 const bool ret = (strm >> stru.
common);
3441 if (ret && strm.
rpos() - start_pos < total_size) {
3442 strm.
skip(total_size - strm.
rpos() + start_pos);
3457 size_t total_size = 0;
3463 return (strm << stru.
common);
3468 size_t total_size = 0;
3473 const size_t start_pos = strm.
rpos();
3475 const bool ret = (strm >> stru.
common);
3477 if (ret && strm.
rpos() - start_pos < total_size) {
3478 strm.
skip(total_size - strm.
rpos() + start_pos);
3494 size_t total_size = 0;
3500 return (strm << stru.
common)
3501 && (strm << stru.
detail);
3506 size_t total_size = 0;
3511 const size_t start_pos = strm.
rpos();
3513 const bool ret = (strm >> stru.
common)
3514 && (strm >> stru.
detail);
3516 if (ret && strm.
rpos() - start_pos < total_size) {
3517 strm.
skip(total_size - strm.
rpos() + start_pos);
3533 size_t total_size = 0;
3539 return (strm << stru.
common)
3540 && (strm << stru.
detail);
3545 size_t total_size = 0;
3550 const size_t start_pos = strm.
rpos();
3552 const bool ret = (strm >> stru.
common)
3553 && (strm >> stru.
detail);
3555 if (ret && strm.
rpos() - start_pos < total_size) {
3556 strm.
skip(total_size - strm.
rpos() + start_pos);
3571 size_t total_size = 0;
3577 return (strm << stru.
detail);
3582 size_t total_size = 0;
3587 const size_t start_pos = strm.
rpos();
3589 const bool ret = (strm >> stru.
detail);
3591 if (ret && strm.
rpos() - start_pos < total_size) {
3592 strm.
skip(total_size - strm.
rpos() + start_pos);
3608 size_t total_size = 0;
3614 return (strm << stru.
common)
3615 && (strm << stru.
detail);
3620 size_t total_size = 0;
3625 const size_t start_pos = strm.
rpos();
3627 const bool ret = (strm >> stru.
common)
3628 && (strm >> stru.
detail);
3630 if (ret && strm.
rpos() - start_pos < total_size) {
3631 strm.
skip(total_size - strm.
rpos() + start_pos);
3641 switch (uni.
kind()) {
3704 #ifdef DDS_HAS_WCHAR 3722 switch (uni.
kind()) {
3730 return (strm << uni.int16_value());
3733 return (strm << uni.uint16_value());
3736 return (strm << uni.int32_value());
3739 return (strm << uni.uint32_value());
3742 return (strm << uni.int64_value());
3745 return (strm << uni.uint64_value());
3748 return (strm << uni.float32_value());
3751 return (strm << uni.float64_value());
3754 return (strm << uni.float128_value());
3763 return (strm << uni.enumerated_value());
3769 #ifdef DDS_HAS_WCHAR 3776 return (strm << uni.extended_value());
3795 return (strm >> uni.int16_value());
3797 return (strm >> uni.uint16_value());
3799 return (strm >> uni.int32_value());
3801 return (strm >> uni.uint32_value());
3803 return (strm >> uni.int64_value());
3805 return (strm >> uni.uint64_value());
3807 return (strm >> uni.float32_value());
3809 return (strm >> uni.float64_value());
3811 return (strm >> uni.float128_value());
3817 return (strm >> uni.enumerated_value());
3821 #ifdef DDS_HAS_WCHAR 3826 return (strm >> uni.extended_value());
3842 size_t total_size = 0;
3849 return (strm << stru_paramname_hash)
3850 && (strm << stru.
value);
3855 size_t total_size = 0;
3860 const size_t start_pos = strm.
rpos();
3863 const bool ret = (strm >> stru_paramname_hash)
3864 && (strm >> stru.
value);
3866 if (ret && strm.
rpos() - start_pos < total_size) {
3867 strm.
skip(total_size - strm.
rpos() + start_pos);
3896 size_t total_size = 0;
3902 return (strm << stru.
unit)
3903 && (strm << stru.
min)
3904 && (strm << stru.
max)
3910 size_t total_size = 0;
3915 const size_t start_pos = strm.
rpos();
3917 const bool ret = (strm >> stru.
unit)
3918 && (strm >> stru.
min)
3919 && (strm >> stru.
max)
3922 if (ret && strm.
rpos() - start_pos < total_size) {
3923 strm.
skip(total_size - strm.
rpos() + start_pos);
3943 && (strm << Serializer::FromBoundedString<char>(stru.
language, 32))
3944 && (strm << stru.
text);
3951 && (strm >> stru.
text);
4024 && (strm << stru.
flags)
4032 && (strm >> stru.
flags)
4048 && (strm << stru.
flags);
4054 && (strm >> stru.
flags);
4068 && (strm << stru.
type);
4074 && (strm >> stru.
type);
4086 return (strm << stru.
bound);
4091 return (strm >> stru.
bound);
4142 size_t total_size = 0;
4148 return (strm << stru.
value)
4149 && (strm << stru.
flags);
4154 size_t total_size = 0;
4159 const size_t start_pos = strm.
rpos();
4161 const bool ret = (strm >> stru.
value)
4162 && (strm >> stru.
flags);
4164 if (ret && strm.
rpos() - start_pos < total_size) {
4165 strm.
skip(total_size - strm.
rpos() + start_pos);
4274 return (strm << stru_name_hash);
4280 return (strm >> stru_name_hash);
4311 return (strm << stru.
header)
4318 return (strm >> stru.
header)
4334 return (strm << stru.
header)
4341 return (strm >> stru.
header)
4359 return (strm << stru.
header)
4360 && (strm << stru.
bound)
4368 return (strm >> stru.
header)
4369 && (strm >> stru.
bound)
4388 return (strm << stru.
header)
4397 return (strm >> stru.
header)
4415 return (strm << stru.
header)
4416 && (strm << stru.
bound)
4422 return (strm >> stru.
header)
4423 && (strm >> stru.
bound)
4438 return (strm << stru.
header)
4445 return (strm >> stru.
header)
4459 return (strm << stru.
bound);
4464 return (strm >> stru.
bound);
4496 size_t total_size = 0;
4509 size_t total_size = 0;
4514 const size_t start_pos = strm.
rpos();
4522 if (ret && strm.
rpos() - start_pos < total_size) {
4523 strm.
skip(total_size - strm.
rpos() + start_pos);
4575 return strm << uni_hash;
4591 return strm >> uni_hash;
4602 using namespace XTypes;
4605 switch (type_object.
kind) {
4643 using namespace XTypes;
4648 switch (type_object.
kind) {
4664 return ser << type_object.
map_type;
4676 using namespace XTypes;
4681 switch (type_object.
kind) {
4697 return ser >> type_object.
map_type;
4711 using namespace XTypes;
4714 switch (type_object.
kind) {
4742 using namespace XTypes;
4747 switch (type_object.
kind) {
4763 return ser << type_object.
map_type;
4775 using namespace XTypes;
4780 switch (type_object.
kind) {
4796 return ser >> type_object.
map_type;
4810 using namespace XTypes;
4814 switch (type_object.
kind) {
4824 size_t total_size = 0;
4834 switch (type_object.
kind) {
4836 return ser << type_object.
complete;
4838 return ser << type_object.
minimal;
4846 size_t total_size = 0;
4856 switch (type_object.
kind) {
4861 ret = ser >> type_object.
minimal;
4889 size_t mutable_running_total = 0;
4904 size_t total_size = 0;
4917 if (!(strm << stru.
minimal)) {
4935 size_t total_size = 0;
4940 const size_t start_pos = strm.
rpos();
4946 if (strm.
rpos() - start_pos >= total_size) {
4950 bool must_understand =
false;
4955 switch (member_id) {
4957 if (!(strm >> stru.
minimal)) {
4969 if (must_understand) {
4971 ACE_DEBUG((
LM_DEBUG,
ACE_TEXT(
"(%P|%t) unknown must_understand field(%u) in OpenDDS::XTypes::TypeInformation\n"), member_id));
4975 strm.
skip(field_size);
5002 bool operator<<(Serializer& strm, const NestedKeyOnly<const XTypes::TypeIdentifierTypeObjectPair>& stru)
5004 return (strm << stru.value);
5015 return (strm >> stru.
value);
5037 bool operator<<(Serializer& strm, const NestedKeyOnly<const XTypes::TypeIdentifierPair>& stru)
5039 return (strm << stru.value);
5050 return (strm >> stru.
value);
5056 message_block.
length(size);
UnionMemberFlag member_flags
bool read_delimiter(size_t &size)
CompleteAnnotationParameterSeq member_seq
TypeIdentifier related_type
const size_t boolean_cdr_size
const TypeKind TK_SEQUENCE
PlainCollectionHeader header
ACE_CDR::ULong typeobject_serialized_size
size_t rpos() const
Examine the logical reading position of the stream.
CompleteCollectionElement element
MinimalEnumeratedType enumerated_type
External< TypeIdentifier > element_identifier
CompleteMemberDetail detail
bool is_complex(TypeKind tk)
CommonAnnotationParameter common
AnnotationTypeFlag annotation_flag
TypeIdentifier member_type_id
void serialized_size(const Encoding &encoding, size_t &size, const NestedKeyOnly< const XTypes::TypeIdentifierPair > &stru)
bool read_long_array(ACE_CDR::Long *x, ACE_CDR::ULong length)
Optional< AppliedBuiltinTypeAnnotations > ann_builtin
Optional< AppliedAnnotationSeq > ann_custom
const TypeKind TK_STRING16
MinimalCollectionHeader header
CompleteBitflagSeq flag_seq
const TypeKind TK_FLOAT128
const Encoding & get_typeobject_encoding()
External< TypeIdentifier > element_identifier
AnnotationParameterValue default_value
CommonStructMember common
void compute_dependencies(const TypeMap &type_map, const TypeIdentifier &type_identifier, OPENDDS_SET(TypeIdentifier)&dependencies)
const EquivalenceKind EK_BOTH
CompleteArrayType array_type
OpenDDS_Dcps_Export void primitive_serialized_size_ulong(const Encoding &encoding, size_t &size, size_t count=1)
const TypeIdentifierKind TI_STRING8_LARGE
CompleteBitsetHeader header
size_t length(void) const
Optional< AppliedBuiltinTypeAnnotations > ann_builtin
bool operator<<(Serializer &strm, const NestedKeyOnly< const XTypes::TypeIdentifierPair > &stru)
Optional< AppliedAnnotationSeq > ann_custom
StructMemberFlag member_flags
void MD5Hash(MD5Result &result, const void *input, size_t size)
bool skip(size_t n, int size=1)
CompleteMemberDetail detail
CommonCollectionHeader common
CompleteExtendedType extended_type
CompleteUnionMemberSeq member_seq
CompleteStructType struct_type
String to_dds_string(unsigned short to_convert)
Optional< DCPS::String > hash_id
const TypeIdentifierKind TI_PLAIN_SEQUENCE_LARGE
MinimalBitflagSeq flag_seq
OpenDDS_Dcps_Export void serialized_size_delimiter(const Encoding &encoding, size_t &size)
Add delimiter to the size of a serialized size if the encoding has them.
bool write_parameter_id(const unsigned id, size_t size, bool must_understand=false)
#define OPENDDS_BRANCH_RESET(T)
CollectionTypeFlag collection_flag
MinimalCollectionElement element
QualifiedTypeName type_name
Optional< AnnotationParameterValue > max
CompleteTypeDetail detail
ACE_CDR::Octet kind() const
TypeIdentifier & operator=(const TypeIdentifier &other)
Optional< AnnotationParameterValue > min
TypeIdentifier annotation_typeid
OpenDDS_Dcps_Export void primitive_serialized_size_octet(const Encoding &encoding, size_t &size, size_t count=1)
#define OPENDDS_ASSERT(C)
CompleteUnionHeader header
const ACE_CDR::Long MEMBER_NAME_MAX_LENGTH
MinimalEnumeratedLiteralSeq literal_seq
MinimalAliasHeader header
CompleteBitmaskHeader header
bool read_parameter_id(unsigned &id, size_t &size, bool &must_understand)
MinimalExtendedType extended_type
TypeIdentifier member_type_id
PlainCollectionHeader header
CompleteCollectionElement element
static const ACE_CDR::ULong MEMBER_ID_MASK
CollectionElementFlag element_flags
CompleteElementDetail detail
Optional< AppliedVerbatimAnnotation > verbatim
const TypeIdentifierKind TI_STRING16_LARGE
bool is_fully_descriptive(const TypeIdentifier &ti)
const_iterator end() const
bool is_primitive(TypeKind tk)
EquivalenceKind equiv_kind
MinimalAnnotationParameterSeq member_seq
bool read_octet_array(ACE_CDR::Octet *x, ACE_CDR::ULong length)
void serialized_size(const Encoding &encoding, size_t &size, const SequenceNumber &)
CompleteTypeDetail detail
CommonCollectionElement common
CommonEnumeratedHeader common
BitsetTypeFlag bitset_flags
Members::const_iterator const_iterator
char * rd_ptr(void) const
External< TypeIdentifier > element_identifier
Optional< AppliedBuiltinMemberAnnotations > ann_builtin
MinimalBitfieldSeq field_seq
LBoundSeq array_bound_seq
size_t strlen(const char *s)
const TypeIdentifierKind TI_STRING8_SMALL
CommonDiscriminatorMember common
CompleteEnumeratedLiteralSeq literal_seq
MinimalAnnotationHeader header
AnnotationParameterValue & operator=(const AnnotationParameterValue &other)
MinimalMemberDetail detail
CompleteStructHeader header
AnnotationParameterFlag member_flags
PlainCollectionHeader header
CompleteSequenceType sequence_type
const EquivalenceKind EK_COMPLETE
bool write_octet_array(const ACE_CDR::Octet *x, ACE_CDR::ULong length)
MinimalAnnotationType annotation_type
const TypeIdentifierKind TI_PLAIN_MAP_LARGE
bool is_sequence_like(TypeKind tk)
CommonEnumeratedLiteral common
CommonCollectionHeader common
UnionDiscriminatorFlag member_flags
AppliedBuiltinMemberAnnotations()
AliasMemberFlag related_flags
void activate(const AnnotationParameterValue *other=0)
CollectionTypeFlag collection_flag
bool write_long_array(const ACE_CDR::Long *x, ACE_CDR::ULong length)
CompleteTypeDetail detail
TypeIdentifierWithSize typeid_with_size
Class to serialize and deserialize data for DDS.
PlainCollectionHeader header
AnnotationParameterValue(ACE_CDR::Octet kind=TK_NONE)
EnumeratedLiteralFlag flags
StructTypeFlag struct_flags
ACE_CDR::ULong hash_member_name_to_id(const OPENDDS_STRING &name)
const TypeKind TK_BOOLEAN
const char * typekind_to_string(TypeKind tk)
TypeIdentifierWithDependencies complete
static const void * body(MD5_CTX *ctx, const void *data, unsigned long size)
Optional< AppliedBuiltinMemberAnnotations > ann_builtin
const TypeIdentifierKind TI_PLAIN_MAP_SMALL
const TypeIdentifierKind TI_PLAIN_ARRAY_LARGE
Christopher Diggins *renamed files *fixing compilation errors *adding Visual C project file *removed make Max Lybbert *removed references to missing and unused header
const TypeIdentifierKind TI_PLAIN_ARRAY_SMALL
const TypeKind TK_BITMASK
AliasTypeFlag alias_flags
TypeObjectHashId sc_component_id
CompleteUnionType union_type
CompleteMemberDetail detail
CommonAnnotationParameter common
ACE_CDR::Octet kind() const
External< TypeIdentifier > element_identifier
MinimalDiscriminatorMember discriminator
CompleteAliasType alias_type
DCPS::String equivalence_hash_to_string(const EquivalenceHash &equivalence_hash)
CompleteStructMemberSeq member_seq
CommonEnumeratedHeader common
BitmaskTypeFlag bitmask_flags
bool operator>>(Serializer &strm, NestedKeyOnly< XTypes::TypeIdentifierPair > &stru)
TypeIdentifier(ACE_CDR::Octet kind=TK_NONE)
PlainCollectionHeader header
Optional< AppliedBuiltinMemberAnnotations > ann_builtin
CollectionTypeFlag collection_flag
CompleteArrayHeader header
CompleteCollectionHeader header
MinimalUnionMemberSeq member_seq
void activate(const TypeIdentifier *other=0)
External< TypeIdentifier > element_identifier
bool read_ulong_array(ACE_CDR::ULong *x, ACE_CDR::ULong length)
bool is_plain_collection(const TypeIdentifier &ti)
Optional< AppliedAnnotationSeq > ann_custom
UnionTypeFlag union_flags
TypeIdentifierWithSizeSeq dependent_typeids
Optional< AppliedAnnotationParameterSeq > param_seq
ACE_CDR::Long dependent_typeid_count
SBoundSeq array_bound_seq
CompleteBitmaskType bitmask_type
CompleteMemberDetail detail
const TypeKind TK_STRUCTURE
AliasTypeFlag alias_flags
MinimalCollectionElement element
void hash_member_name(NameHash &name_hash, const OPENDDS_STRING &name)
typedef OPENDDS_SET(DynamicTypePtrPair) DynamicTypePtrPairSeen
CompleteTypeDetail detail
const ACE_CDR::Long TYPE_NAME_MAX_LENGTH
CompleteMemberDetail detail
MinimalCollectionElement key
MinimalUnionHeader header
const TypeKind TK_FLOAT32
bool write_empty_xcdr2_nonfinal(DCPS::Serializer &strm)
BitmaskTypeFlag bitmask_flags
MinimalSequenceType sequence_type
Optional< AppliedAnnotationSeq > ann_custom
OpenDDS_Dcps_Export void serialized_size_parameter_id(const Encoding &encoding, size_t &size, size_t &running_size)
const TypeKind TK_STRING8
ACE_CDR::Octet EquivalenceHash[14]
External< TypeIdentifier > key_identifier
CompleteTypeDetail detail
MinimalMemberDetail detail
External< TypeIdentifier > element_identifier
MinimalBitmaskHeader header
CompleteEnumeratedType enumerated_type
OpenDDS_Dcps_Export unsigned int DCPS_debug_level
bool write_ulong_array(const ACE_CDR::ULong *x, ACE_CDR::ULong length)
OpenDDS_Dcps_Export LogLevel log_level
MinimalMemberDetail detail
CompleteCollectionElement key
const size_t char16_cdr_size
AnnotationTypeFlag annotation_flag
MinimalArrayType array_type
TypeIdentifier type_identifier2
Optional< CompleteTypeDetail > detail
MinimalStructMemberSeq member_seq
bool is_scalar(TypeKind tk)
MinimalBitsetHeader header
MinimalCollectionElement element
CompleteAnnotationType annotation_type
MinimalCollectionHeader header
const Encoding & encoding() const
External< TypeIdentifier > key_identifier
const TypeIdentifierKind TI_PLAIN_SEQUENCE_SMALL
#define OPENDDS_END_VERSIONED_NAMESPACE_DECL
const TypeKind TK_ANNOTATION
AnnotationParameterValue value
MinimalAliasType alias_type
Optional< DCPS::String > unit
CompleteAliasHeader header
MinimalUnionType union_type
CollectionTypeFlag collection_flag
CompleteCollectionHeader header
TypeIdentifier type_identifier
CollectionElementFlag key_flags
CollectionTypeFlag collection_flag
UnionCaseLabelSeq label_seq
QualifiedTypeName annotation_name
MinimalStructType struct_type
bool to_type_object(const unsigned char *buffer, size_t size, XTypes::TypeObject &to)
const EquivalenceKind EK_MINIMAL
const TypeIdentifierKind TI_STRING16_SMALL
const TypeIdentifierKind TI_STRONGLY_CONNECTED_COMPONENT
CompleteAnnotationHeader header
bool read_empty_xcdr2_nonfinal(DCPS::Serializer &strm)
UnionTypeFlag union_flags
CommonCollectionElement common
#define OPENDDS_BRANCH_ACTIVATE(T, N)
BitsetTypeFlag bitset_flags
MinimalMemberDetail detail
CompleteBitsetType bitset_type
const DCPS::Encoding encoding(DCPS::Encoding::KIND_UNALIGNED_CDR, DCPS::ENDIAN_BIG)
AnnotationParameterValue default_value
CompleteCollectionElement element
Optional< AppliedAnnotationSeq > ann_custom
unsigned char_value(CharType value)
CommonDiscriminatorMember common
CommonEnumeratedLiteral common
PlainCollectionHeader header
bool write_delimiter(size_t size)
MinimalStructHeader header
TypeIdentifier makeTypeIdentifier(const TypeObject &type_object, const DCPS::Encoding *encoding_option)
CollectionElementFlag element_flags
The Internal API and Implementation of OpenDDS.
CompleteTypeObject complete
TypeIdentifier type_identifier1
CollectionTypeFlag collection_flag
MinimalArrayHeader header
CommonStructMember common
CompleteBitfieldSeq field_seq
TypeIdentifierWithDependencies minimal
CompleteDiscriminatorMember discriminator
OpenDDS_Dcps_Export void serialized_size_list_end_parameter_id(const Encoding &encoding, size_t &size, size_t &running_size)
CollectionElementFlag key_flags
ACE_CDR::ULong length() const
CompleteEnumeratedHeader header
MinimalTypeObject minimal
const TypeKind TK_FLOAT64
MinimalBitsetType bitset_type
StructTypeFlag struct_flags
CompleteTypeDetail detail
MinimalEnumeratedHeader header
ACE_CDR::Octet NameHash[4]
bool is_basic(TypeKind tk)
bool has_type_object(const TypeIdentifier &ti)
MinimalBitmaskType bitmask_type
OpenDDS_Dcps_Export bool primitive_serialized_size(const Encoding &encoding, size_t &size, const ACE_CDR::Short &value, size_t count=1)
const_iterator begin() const