我有许多类,其私有成员boost::tuple<> structures
的实现各不相同,即。 <std::string, int>
或<short, short, float>
。
我现在需要将该元组解析为私有const char* message
(因为我想通过tcp发送它),但不能不改变那些需要更改其endianess的数据类型的endianess。
这就是我到目前为止所拥有的:
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