Module: OroGen::TypekitMarshallers::TypeInfo::CompoundType

Defined in:
lib/orogen/marshallers/type_info.rb

Instance Method Summary collapse

Instance Method Details

#boost_serialization_compatible?Boolean


108
109
110
# File 'lib/orogen/marshallers/type_info.rb', line 108

def boost_serialization_compatible?
    dependencies.all?(&:boost_serialization_compatible?)
end

#info_typeObject


127
128
129
# File 'lib/orogen/marshallers/type_info.rb', line 127

def info_type
    "RTT::types::StructTypeInfo"
end

#info_type_headerObject


123
124
125
# File 'lib/orogen/marshallers/type_info.rb', line 123

def info_type_header
    "rtt/types/StructTypeInfo.hpp"
end

#to_boost_serializationObject


111
112
113
114
115
116
117
118
119
120
121
# File 'lib/orogen/marshallers/type_info.rb', line 111

def to_boost_serialization
    result = []
    each_field do |field_name, field_type|
        if field_type < Typelib::ArrayType
            result << "a & make_nvp(\"#{field_name}\", boost::serialization::make_array(b.#{field_name}, #{field_type.length}));"
        else
            result << "a & make_nvp(\"#{field_name}\", b.#{field_name});"
        end
    end
    result.join("\n");
end