the issue, fixed in master and forthcoming 6.18, is that RDF expects the interpreter to know about Point2D.
I see at least two ways of fixing this.
Use a pair instead of a point
Declare the code of Point2D to the interpreter
In any case I would remove the copy of std vectors in the signature of the lambda and use const references instead.
Hi @Danilo, unfortunately i did like that (ask for the Point2D) because was faster, but in my use case i have somehting more complex with 8-9 privatee members…
I think i would go for the declaration. How can i do that?
Is something like this ?
d.Define("p", "struct{blabla}; .... all my lambda function; return p;")?
Well, i don’t know how to let the interpreter know about tthat. I am trying to produce a std::ttuple in the lambda and for my classes i define a constructor with the tuple forwarding arguments.
Sorry i was too naive in the comment, i guess the gInterpreter thing is going to work in a macro-like system. I have a CMake project for which i probably have to make Dictionaries to my classes etc…
If you say that ROOT/master will have not the issue, i am going to update ROOT.