MCPcopy Create free account
hub / github.com/OpenDDS/OpenDDS / assignable

Method assignable

dds/DCPS/XTypes/TypeAssignability.cpp:23–56  ·  view source on GitHub ↗

* @brief Both input type objects must be minimal */

Source from the content-addressed store, hash-verified

21 * @brief Both input type objects must be minimal
22 */
23bool TypeAssignability::assignable(const TypeObject& ta,
24 const TypeObject& tb) const
25{
26 if (EK_MINIMAL == ta.kind && EK_MINIMAL == tb.kind) {
27 if (TK_ALIAS == ta.minimal.kind || TK_ALIAS == tb.minimal.kind) {
28 return assignable_alias(ta.minimal, tb.minimal);
29 }
30
31 switch (ta.minimal.kind) {
32 case TK_ANNOTATION:
33 return assignable_annotation(ta.minimal, tb.minimal);
34 case TK_STRUCTURE:
35 return assignable_struct(ta.minimal, tb.minimal);
36 case TK_UNION:
37 return assignable_union(ta.minimal, tb.minimal);
38 case TK_BITSET:
39 return assignable_bitset(ta.minimal, tb.minimal);
40 case TK_SEQUENCE:
41 return assignable_sequence(ta.minimal, tb.minimal);
42 case TK_ARRAY:
43 return assignable_array(ta.minimal, tb.minimal);
44 case TK_MAP:
45 return assignable_map(ta.minimal, tb.minimal);
46 case TK_ENUM:
47 return assignable_enum(ta.minimal, tb.minimal);
48 case TK_BITMASK:
49 return assignable_bitmask(ta.minimal, tb.minimal);
50 default:
51 return assignable_extended(ta.minimal, tb.minimal);
52 }
53 }
54
55 return false;
56}
57
58/**
59 * @brief The first argument must be a minimal type object

Callers 15

match_continueMethod · 0.80
match_continueMethod · 0.80
TESTFunction · 0.80
string_expect_falseFunction · 0.80
TEST_FFunction · 0.80

Calls 2

get_base_typeFunction · 0.85
TypeObjectClass · 0.85

Tested by

no test coverage detected