From 1bd6105a0aa013d9d9f79bd9ef5cfb06217812d2 Mon Sep 17 00:00:00 2001 From: Romain Goyet Date: Thu, 9 Apr 2020 13:19:58 -0400 Subject: [PATCH] [libaxx] Add initializer_list --- libaxx/include/initializer_list | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 libaxx/include/initializer_list 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