min, max, abs.. are macroses?

No round? Did you exclude it on purpose?

You allow the parameters to be different types. You're not concerned about the possibility of implicit type-conversions?

It uses some C++11 features so -std=gnu++0x flag should be passed to gcc.

I suspect that will not happen.

P.S. Using it shouldn't have any impact on program size or speed if you are using macros only with single variables.

In my testing it does. In some cases this...

template <class T> const T& minT ( const T& a, const T& b )
{
  return( (a<b) ? a : b );
}

Produces less code the the min macro.