int main() { { typedef double T; typedef std::array<T, 3> C; C c = {1, 2, 3.5}; assert(c.size() == 3); assert(c.max_size() == 3); assert(!c.empty()); } { typedef double T; typedef std::array<T, 0> C; C c = {}; assert(c.size() == 0); assert(c.max_size() == 0); assert(c.empty()); } #ifndef _LIBCPP_HAS_NO_CONSTEXPR { typedef double T; typedef std::array<T, 3> C; constexpr C c = {1, 2, 3.5}; static_assert(c.size() == 3, ""); static_assert(c.max_size() == 3, ""); static_assert(!c.empty(), ""); } { typedef double T; typedef std::array<T, 0> C; constexpr C c = {}; static_assert(c.size() == 0, ""); static_assert(c.max_size() == 0, ""); static_assert(c.empty(), ""); } #endif }
bool empty() const { return collection.empty(); }