Helper for creation of StackView classes
Very very unfortunately the code:
template<typename TStack,
template <typename> typename _PIType = TStack::template PIType>
struct MakeView {
using type = corsika::stack::SecondaryView<typename TStack::StackImpl,
_PIType>;
};
auto view = MakeView<MyStack>::type;
onlys compile in GCC>5 but not in clang, see https://stackoverflow.com/questions/54848742/create-type-by-reusing-template-template-parameter
We should keep and eye on this in compiler support, but this requires some general workaround for the time being, see e.g. corsika::StackView in corsika::Cascade and in corsika::ProcessSequence.
There is not so much we can do about this Issue, it is here as a reminder and eventual later follow-up.