#pragma once #include namespace ext { /** \brief Returns number of elements in an automatic array. */ template constexpr std::size_t size(const T (&)[N]) noexcept { return N; } /** \brief Returns number of in a container providing size() member function. */ template constexpr auto size(const T & t) { return t.size(); } }