我正在使用omniORB 和C++。
在我的应用程序中,我得到几个小的 CORBA 序列形成不同的模块,然后我需要将它们组合成一个大序列以进行进一步处理。有简单的方法吗?像seq2.append(seq1)
或之类的东西seq2.push_back(seq1)
。还是一些运营商?(我真的是 STL 方面的新手)。
我发现的唯一方法是手动遍历小序列的每个元素并将其添加到大序列中。
//idl
struct Device;
typedef sequence<Device> DevicesList;
//c++
icore::DevicesList full_list;
foreach (const DStatusList &stlist, states_) {
icore::DevicesList list = convertList(stlist);
int newlength = full_list.length() + list.length();
int last_index = full_list.length();
full_list.length(newlength);
int j=0;
for(int i=last_index; i< last_index+list.length(); i++,j++) {
full_list[i] = list[j];
}
}
谢谢你。