array shall provide support for the special case N == 0.
In the case that N == 0, begin() == end() == unique value.
The return value of data() is unspecified.
The effect of calling front() or back() for a zero-sized array is
Member function swap() shall have a noexcept-specification
which is equivalent to noexcept(true).