Metadata IDL(使用cyclonedds cxx)生成的*\u DCPS.hpp文件中的元信息是什么?
我使用cyclonedds cxx及其IDL编译器翻译IDL文件,以便与cyclonedds cxx一起使用。我有这个IDL文件:Metadata IDL(使用cyclonedds cxx)生成的*\u DCPS.hpp文件中的元信息是什么?,metadata,idl,data-distribution-service,Metadata,Idl,Data Distribution Service,我使用cyclonedds cxx及其IDL编译器翻译IDL文件,以便与cyclonedds cxx一起使用。我有这个IDL文件: #ifndef TRANSPORTDATA_IDL #define TRANSPORTDATA_IDL #include "Transform_.idl" module TransportData { struct Data { long userID; //@key geometry_msgs::msg::dds_:
#ifndef TRANSPORTDATA_IDL
#define TRANSPORTDATA_IDL
#include "Transform_.idl"
module TransportData
{
struct Data
{
long userID; //@key
geometry_msgs::msg::dds_::Transform_ transform_;
};
#pragma keylist Data userID
};
#endif // TRANSPORTDATA_IDL
此IDL文件已转换为Transportdata_DCPS.hpp,如下所示:
\ifndef isocp2\u传输数据\u H
#定义ISOCP2_传输数据
#包括“dds/dds.hpp”
#包括“TransportData.h”
#包括“TransportDataSplDcps.h”
#包括“org/eclipse/cyclonedds/topic/TopicTraits.hpp”
#包括“org/eclipse/cyclonedds/topic/DataRepresentation.hpp”
名称空间组织{名称空间eclipse{名称空间cyclonedds{名称空间主题{
模板
主题类
{
公众:
static::org::eclipse::cyclonedds::topic::DataRepresentationId\u t getDataRepresentationId()
{
return::org::eclipse::cyclonedds::topic::OSPL\u表示;
}
static::std::vector getMetaData()
{
return::std::vector();
}
static::std::vector getTypeHash()
{
return::std::vector();
}
static::std::vector getextensions()
{
return::std::vector();
}
静态常量char*getKeyList()
{
返回“userID”;
}
静态常量char*getTypeName()
{
返回“TransportData::Data”;
}
静态常量dds\u主题\u描述符\u t*getDescriptor()
{
返回和传输数据\u数据描述;
}
静态copyInFunction getCopyIn()
{
返回(copyInFunction)\传输数据\数据\复制输入;
}
静态copyOutFunction getCopyOut()
{
返回(copyOutFunction)\传输数据\数据\复制输出;
}
静态大小\u t getSampleSize()
{
返回sizeof(传输数据\u数据);
}
};
}}}}
名称空间dds{名称空间主题{
模板
结构主题\类型\名称
{
静态std::字符串值()
{
return org::eclipse::cyclonedds::topic::TopicTraits::getTypeName();
}
};
}}
寄存器\主题\类型(TransportData::Data)
#endif/*ISOCPP\u传输数据\u H*/
关于这一点,我有三个问题:
- 在哪里可以找到元信息的文档
- DDS标准是否保证这些元信息存在
和copyInFunction
的作用是什么copyInFunction