Having an array `std::vector<BaseClass*>` what is the correct way of saving this array to a file using Google's Protocol Buffers library? 

`BaseClass` is a base class of hierarchy of classes, it has several sub classes. 
Is Google's Protocol Buffers even suitable for this purpose or maybe another library would be preferred?