From e599a7f67a18ba48fb3aee651c384e96cf56eafd Mon Sep 17 00:00:00 2001 From: q66 Date: Wed, 3 Jun 2015 22:56:01 +0100 Subject: [PATCH] deassify initializer_list --- octa/initializer_list.h | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) diff --git a/octa/initializer_list.h b/octa/initializer_list.h index 08af051..f1b42fa 100644 --- a/octa/initializer_list.h +++ b/octa/initializer_list.h @@ -13,32 +13,36 @@ #ifndef OCTA_ALLOW_CXXSTD /* must be in std namespace otherwise the compiler won't know about it */ namespace std { - template - class initializer_list { - const _T *__buf; - size_t __len; - initializer_list(const _T *__v, size_t __n): __buf(__v), __len(__n) {} - public: - initializer_list(): __buf(nullptr), __len(0) {} +template +class initializer_list { + const _T *p_buf; + size_t p_len; - size_t size() const { return __len; } + initializer_list(const _T *v, size_t n): p_buf(v), p_len(n) {} +public: + initializer_list(): p_buf(nullptr), p_len(0) {} + + size_t size() const { return p_len; } + + const _T *begin() const { return p_buf; } + const _T *end() const { return p_buf + p_len; } +}; - const _T *begin() const { return __buf; } - const _T *end() const { return __buf + __len; } - }; } #else #include #endif namespace octa { - template using InitializerList = std::initializer_list<_T>; - template - octa::PointerRange each(std::initializer_list<_T> __init) { - return octa::PointerRange(__init.begin(), __init.end()); - } +template using InitializerList = std::initializer_list<_T>; + +template +octa::PointerRange each(std::initializer_list<_T> init) { + return octa::PointerRange(init.begin(), init.end()); +} + } #endif \ No newline at end of file