diff --git a/libaxx/include/initializer_list b/libaxx/include/initializer_list new file mode 100644 index 000000000..dd7081dae --- /dev/null +++ b/libaxx/include/initializer_list @@ -0,0 +1,33 @@ +#ifndef LIBAXX_INITIALIZER_LIST +#define LIBAXX_INITIALIZER_LIST + +namespace std { + +template +class initializer_list { +public: + initializer_list() noexcept : m_begin(nullptr), m_size(0) {} + const T * begin() const noexcept { return m_begin; } + const T * end() const noexcept { return m_begin + m_size; } +private: + initializer_list(const T * begin, size_t size) noexcept + : m_begin(begin), + m_size(size) + {} + const T * m_begin; + size_t m_size; +}; + +template +inline const T * begin(initializer_list il) noexcept { + return il.begin(); +} + +template +inline const T * end(initializer_list il) noexcept { + return il.end(); +} + +} + +#endif