From a578c51bafe1839ccfb3bdc2f50c92bd167bc10c Mon Sep 17 00:00:00 2001 From: Maxime Coste Date: Wed, 17 May 2017 20:20:31 +0100 Subject: [PATCH] Move constexpr compatible Array struct to meta.hh --- src/enum.hh | 11 ----------- src/meta.hh | 12 ++++++++++++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/src/enum.hh b/src/enum.hh index ce3adb33..09e11ef0 100644 --- a/src/enum.hh +++ b/src/enum.hh @@ -6,17 +6,6 @@ namespace Kakoune { -template -struct Array -{ - constexpr size_t size() const { return N; } - constexpr const T& operator[](int i) const { return m_data[i]; } - constexpr const T* begin() const { return m_data; } - constexpr const T* end() const { return m_data+N; } - - T m_data[N]; -}; - template struct EnumDesc { T value; StringView name; }; } diff --git a/src/meta.hh b/src/meta.hh index 768556eb..70a99428 100644 --- a/src/meta.hh +++ b/src/meta.hh @@ -9,6 +9,18 @@ inline namespace Meta template struct Type {}; } + +template +struct Array +{ + constexpr size_t size() const { return N; } + constexpr const T& operator[](int i) const { return m_data[i]; } + constexpr const T* begin() const { return m_data; } + constexpr const T* end() const { return m_data+N; } + + T m_data[N]; +}; + } #endif // meta_hh_INCLUDED