Open BrieucF opened 6 months ago
I can't reproduce the exact error you see (i.e. missing include). However, there is indeed a somewhat conceptual issue here. The main issue is that types that are used in interface declare that interface as friend
, such that the interface can access its internals.
Since we can't change the headers of the upstream models, we will have to find another solution to this.
I think it would be another problem if a model and upstream used different getSyntax
That is true. However, I would say that that is something that needs to be documented, and I think that it would be a very niche use case to mix datamodels with different getSyntax
values.
I can't reproduce the exact error you see (i.e. missing include). However, there is indeed a somewhat conceptual issue here. The main issue is that types that are used in interface declare that interface as
friend
, such that the interface can access its internals.
Did I miss something or the interfaces need access to object internals only for operator<
that is done by comparing internal pointers?
At least initially, they also needed it for setReferences
. But that might have changed with https://github.com/AIDASoft/podio/pull/673. I haven't actually checked, whether that changes something.
Thanks, I'll take a look and maybe propose something
This:
Crashes with
There is a workaround which is to redefine those types in the extensions and use