Нет никакого отношения между dict в Python и std :: map в C ++ (у них совершенно другая внутренняя структура), поэтому для этого требуется преобразование, в настоящее время в cppyy нет автоматического преобразования, поэтому сделайте что-то вроде этого:
cppm = cppyy.gbl.std.map[int, int]()
for key, value in {55:1,66:2,77:3}.items():
cppm[key] = value
, затем передайте cppm в summap.
Автоматическая поддержка списка python / tuple -> std :: vector доступна, но там тоже не умнее, чем копирование (аналогично, b / cвнутренняя структура совершенно иная), поэтому при любом автоматическом преобразовании dict в std :: map <-> python внутренне все равно придется делать копию, как указано выше.