은 내가 MPL 순서를 보면객체 직렬화를위한 코드를 생성하기 위해 MPL을 향상 시키시겠습니까? 어떻게 것
class Object
{
string a;
int b;
long c;
char d;
};
에 대한 직렬화/역 직렬화 코드를 생성 할,하지만 난 알아낼 수 없습니다, 오브젝트를 식별뿐만 아니라 다시 검색 할 수 있어야합니다 그 회원의 이름을 얻으려면 내가 그것을 알아야 하느냐?
코드는, 행할,
난 단지 개체의 레이아웃을 해당하는 MPL 순서를 정의하는 사용자가 위의 코드를 생성 할void SerializeObject(ostream os)
{
serialize(object.a, os);
serialize(object.b, os);
//serialize(object.member, os);
}
과 같아야합니다 당신은 내게 몇 가지 힌트를 줄 수 있습니까?
내 목표는 다음과 같습니다
사용자는 상기 목적을 위해 mpl::vector<String, int, long, char>
을 정의하고 내 metaprogram
는 필요한 코딩 된 생성 할 수 있습니다.
심각한 해킹없이 회원의 이름을 얻을 수 있다고 생각하지 않습니다. 예를 들어 두 개의 int가 있으면 어떻게 될지 고려하십시오. boost :: mpl은 어느 int가 어떤 것을 알고 있습니까? –
@Boaz, 나는 둘 다'int'를 얻은만큼 내가 상관하지 않는다. –