는 구조가 직렬화 고려 :boost :: serialization :: traits의 구체적인 예는 무엇입니까?
struct MyStruct {
int a;
std::string b;
template<class Archive>
void serialize(Archive &ar, const unsigned int)
{
ar & a & b;
}
};
내가 명시 적으로 track_never
및 object_serializable
모두로, 직렬화 :: 특징 :: 부스트를 사용하여 태그를 지정할. 나는 traits docs을 쳐다 봤지만, 어떻게 적용 할 것인가에 대한 내 마음을 갖지 못하고 어디에서든지 예제를 찾을 수 없습니다. 그래서 ...
a)이 특정 클래스에 특성을 적용하는 코드는 무엇입니까?
b) 각각의 위치를 확인하는 BOOST_STATIC_ASSERT()
은 무엇입니까?
c)이 유형을 직접 처리 할 수있는 일반적인 아카이브 클래스에는 멤버 함수 나 템플릿이 없으므로이 클래스 primitive_type을 만들 수 없다고 가정합니다. 옳은?
플랫폼 간 호환성 또는 버전 간 아카이브 호환성에 대해서는 신경 쓰지 않고 MyStruct
에 대한 빠른 읽기 (쓰기) 및 침입 만 가능하지만 가능한 경우 두 가지 방법으로 모두 완료하는 것이 좋습니다.
외부 클래스 정의의 다음 두 줄을 쓸 필요 것 : MyStruct
이후
위의 두 매크로는 사용자가 지정한 순서와 정확히 일치해야합니다. 나는 그것들을 뒤집어 놓았고 그것이 나를 위해 일하지 않는 이유입니다. 끝의 세미콜론은 필수는 아니지만 해를 끼치 지 마십시오. (모든 MinGW-32/gcc-4.4입니다.) – JimB