I just noticed that the new standard defines min(a,b)
and max(a,b)
without constexpr
.
Examples from 25.4.7, [alg.min.max]:
template<class T> const T& min(const T& a, const T& b);
template<class T> T min(initializer_list<T> t);
Isn't this a pity? I would have liked to write
char data[ max(sizeof(A),sizeof(B)) ];
instead of
char data[ sizeof(A) > sizeof(B) ? sizeof(A) : sizeof(B) ];
char data[ MAX(sizeof(A),sizeof(B)) ]; // using a macro
Any reason why those can not be constexpr
?