我有许多类具有不同的私有成员实现,boost::tuple<> structures
即。<std::string, int>
或<short, short, float>
。我现在需要将该元组解析为私有元组const char* message
(因为我想通过 tcp 发送它),但不能不改变那些需要改变字节序的数据类型的字节序。
这是我到目前为止所拥有的:
struct parseTuple{
template<typename T>
void operator()(T& t) const{
std::cout << ntohl(t) << "\n";
}
};
void Base::createMessageFromTuple(){
boost::fusion::for_each(this->structure, parseTuple());
}
在继续之前,我认为我需要知道一些事情:
如何跟踪元组成员,以便我可以
message
根据他们的数据类型(静态成员,也许?)分配空间如何在模板中区分符合
ntohl
要求的数据类型和需要不同处理的数据类型,即std::string
- 这甚至是正确的方法吗?