Closed Makman2 closed 8 years ago
This sucks so hard with circular dependencies, overload lookup problems together with the templated version of transform
(even SFINAE approach doesn't work, it retriggers the old circular-dependency forward declaration problem because the code of the new transform
resides now in a header and needs the internal methods used declared) and forward declaration, that it makes it quite complicated. There's still another possibility using private function overload lookup using dummy types passed to the function, but I dislike it because I'm not really sure how the compiler optimizes that away (a type is at least instantiated). It also looks not very clean, so please just do:
itransformable_instance.transform(transformation_instance);
The
Transformation
class does not implement a function/specialization forITransformable
so this gets possible: