I've got the following code:
template<typename... Args> constexpr static const inline int sc(Args&&... args)
{
return scanf(_hidden::fmt< decltype(args+0)... >::result::data,
_hidden::link<decltype(&args),decltype(args+0)>({&args,args}).data...);
}
At least g++ compiler without -O3 flag compiles it to function call, ignoring inline parameter. How could I replace such complicated variadic expansion with macro or anything else, what would compile to single scanf call without extra functions using any compiler set? Just academic interest, in real cases -O3 flag does everything