Is there a way to broadcast a vector of strings?  There is currently a gap in the MeshCommunication::broadcast()... it is not broadcasting the sideset and nodeset _names_ (and probably not the block names either).  I'm trying to fix it up, but I'm running into trouble with trying to broadcast a std::map<boundary_id, std::string>

My idea was to read out the boundary ids and names into vectors of each... and broadcast them separately (since there didn't seem to be a Parallel::broadcast implementation for maps... and even just trying to use set_union didn't work because it is an unrecognized complex datatype).  But I'm stuck on trying to broadcast a vector of strings... I just get that:

/Users/gastdr/projects/libmesh/include/libmesh/parallel.h:285: error: ‘libMesh::Parallel::StandardType<T>::StandardType(const T*) [with T = std::basic_string<char, std::char_traits<char>, std::allocator<char> >]’ is private
/Users/gastdr/projects/libmesh/include/libmesh/parallel.h:3696: error: within this context

Which obviously means that this is a datatype that no one has worked with yet.

So... any ideas?  Should I go ahead and implement a datatype for this... or is there a better way?