If T is a pointer, just return it. If it is not, return T&. More...
#include <type_traits.h>
If T is a pointer, just return it. If it is not, return T&.