I’d love to pass an array of tuples to some C++ code; say calling
myfunction([("a",1),("b",2)])
At the C++ level, I would write a function
mod.method("myfunction", [](const jlcxx::ArrayRef<std::tuple<std::string,int>> &arg) {...});
(I also tried with std::vector
rather than ArrayRef
’, and std::pair
instead of std::tuple
too). However, I always get an error on loading,
C++ exception while wrapping module XXX: No appropriate factory for type NSt3__14pairINS_12basic_stringIcNS_11char_traitsIcEENS_9allocatorIcEEEEjEE
Is there a way to do this without creating a special type, or passing two lists (one of strings, one of ints), with zipping and unzipping to create the arguments?