Используя библиотеку сериализации boost, у меня есть очень простая функция-член serialize()
, что-то вроде:
template <class Archive>
void serialize( Archive& ar, unsigned version )
{
ar & m_Searcher;
}
... и я хочу, чтобы это было так просто (я не хочу, в частности, использовать разделение). Но в случае написания я хочу сделать некоторую "подготовку" для m_Searcher
до фактического написания.
{
if( this-is-a-writing-operation )
do-some-preparation( m_Searcher )
ar & m_Searcher;
}
Есть ли простой способ отличить операции чтения и записи?