Use std::numeric_limits.