My question seems to be related to this issue
I tried to save my dataframe with a Snapshot of column type
ROOT::RVec<std::string> because I though that the RVec is preferred over
std::vector - I am not able to save the tree correctly (I don’t generate the dictionary)
Error in <TTree::Branch>: The class requested (vector<string,ROOT::Detail::VecOps::RAdoptAllocator<string> >) for the branch "aaa" is an instance of an stl collection and does not have a compiled CollectionProxy. Please generate the dictionary for this collection (vector<string,ROOT::Detail::VecOps::RAdoptAllocator<string> >) to avoid to write corrupted data.
if I change the code to
std::vector<std::string> the tree gets saved.
According to the linked thread, ROOT is doing some on the fly conversion from RVec to std::vector - is it supposed to work on
std::string or do I always need the dictionary in this case?
ROOT Version: 6.22/00