Question: I am using ASP.NET MVC routes to direct traffic based on certain words, for instance `mydomain.com/support` which directs to the support page (under the Home controller), or `mydomain.com/controller/action/id` as per default.

However I would also like traffic to have the ability to use any single word after the gTLD - that I haven't already specified - to hit my home page.

For instance: `mydomain.com/anything` would still hit my home page and not produce a 404 response. Where *anything* is any word other than what I have already specified (so in this example "support").

Is this even possible?

Answer: 
Since you will have a finite number of template arguments, you can use a series of `if` statements.

```
template<int F1, int F2 ,int F3> 
struct TemplatedClass 
{ 
    TemplatedClass(); 
    update() 
    {
    if (F1 > 0) myfunc(); 
    if (F2 > 0) myfunc(); 
    if (F3 > 0) myfunc(); 
        // etc.*  
    } 
} 

```
Or use helper template if you are not sure the optimizer will get rid of the `if`s:

```
void functionToCall(int number) { /* ... */ }

template<bool doCall>
struct FuncCaller {
    template<typename Callable>
    FuncCaller(Callable func, int number) { func(number); }
};

template<>
struct FuncCaller<false> {
    template<typename Callable>
    FuncCaller(Callable, int) {}
};

update()
{
    FuncCaller<(F1 > 0)>(functionToCall, F1);
    FuncCaller<(F2 > 0)>(functionToCall, F2);
    FuncCaller<(F3 > 0)>(functionToCall, F3);
}

```