def get_cxx_type(field_node):
    """Retrieve the C++ type of a message field node"""
    xtype = field_node.get('type')
    msg_type = field_node.get('message-type', 'Message')
    if xtype == 'plaintext':
        return 'std::string'
    elif xtype == 'rawdata':
        return 'std::vector<char>'
    elif xtype == 'message':
        return 'InlineMessage<%s>' % msg_type
    elif xtype == 'message-list':
        return 'MessageList<%s>' % msg_type
    elif xtype == 'fp64_t':
        return 'double'
    elif xtype == 'fp32_t':
        return 'float'
    else:
        return xtype