0

我有许多类具有不同的私有成员实现,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());
}

在继续之前,我认为我需要知道一些事情:

  1. 如何跟踪元组成员,以便我可以message根据他们的数据类型(静态成员,也许?)分配空间

  2. 如何在模板中区分符合ntohl要求的数据类型和需要不同处理的数据类型,即std::string

  3. 这甚至是正确的方法吗?
4

0 回答 0