home/src/meta.hh

28 lines
492 B
C++
Raw Normal View History

#ifndef meta_hh_INCLUDED
#define meta_hh_INCLUDED
namespace Kakoune
{
2017-03-16 10:57:39 +01:00
inline namespace Meta
{
struct AnyType{};
template<typename T> struct Type : AnyType {};
}
template<typename T, size_t N>
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