protocol buffer map
c++: derive from templated class