Added template function select_if() in variant.h; Unit-tested.

`///< @brief` is a line comment that goes into doxygen. In this case you are adding a special comment to the closing braces which doesn't mean anything. 

You want to add the comments at the top of the function declaration or inline with the declaration. Your choice.