C++11 added alias templates such as:
template using identity = T;
template using EnableIf = typename std
Best way I know to remove template
is made simple warper that will do it for you:
template
using apply = typename Meta::template Template;
and every where you previously used template
replace it with typename Meta
.
template
void do_more_stuff()
{
apply::func(); //=== Meta::template Template::func();
}
template
void do_stuff() {
do_more_stuff< my_meta >();
do_more_stuff< my_meta >();
};