As the title, I am wondering if there is any situation where something can be written in compile-time-if but not template specialization, or vice versa? Or perhaps preference to one over the other?
The only situation I can come up with is where you have a template function with multiple template parameters and you want to have cases (if-else) on one of those parameters. Since you cannot have partial template specialization with function, then you must use compile-time-if (However, you might be able to get around by overloading?).
I am not too sure. So hope some C++ expert out here gives me some insight. In case the answer is no, then why bother to introduce compile-time-if?