diff options
author | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-27 21:17:49 +0000 |
---|---|---|
committer | bkoz <bkoz@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-05-27 21:17:49 +0000 |
commit | 104c1b57db32ce503253614374a64f6b14cfb5fc (patch) | |
tree | 95dccbcc2cae5ca8bbfb79669d2406a54d272f82 /libstdc++-v3/libsupc++/initializer_list | |
parent | 3057983e78ae74fdcab4eb0a58d5c2fa57953cf1 (diff) | |
download | gcc-104c1b57db32ce503253614374a64f6b14cfb5fc.tar.gz |
2009-05-27 Benjamin Kosnik <bkoz@redhat.com>
* libsupc++/initializer_list: Format.
* testsuite/18_support/initializer_list/requirements/typedefs.cc: New.
* testsuite/18_support/initializer_list/requirements/
explicit_instantiation.cc: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@147931 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/libsupc++/initializer_list')
-rw-r--r-- | libstdc++-v3/libsupc++/initializer_list | 51 |
1 files changed, 25 insertions, 26 deletions
diff --git a/libstdc++-v3/libsupc++/initializer_list b/libstdc++-v3/libsupc++/initializer_list index 4a48cc567a3..20e29000d56 100644 --- a/libstdc++-v3/libsupc++/initializer_list +++ b/libstdc++-v3/libsupc++/initializer_list @@ -8,12 +8,12 @@ // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 3, or (at your option) // any later version. -// +// // GCC is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. -// +// // Under Section 7 of GPL version 3, you are granted additional // permissions described in the GCC Runtime Library Exception, version // 3.1, as published by the Free Software Foundation. @@ -27,8 +27,8 @@ * This is a Standard C++ Library header. */ -#ifndef __CXX_INITIALIZER_LIST -#define __CXX_INITIALIZER_LIST +#ifndef _INITIALIZER_LIST +#define _INITIALIZER_LIST #ifdef __GXX_EXPERIMENTAL_CXX0X__ @@ -42,40 +42,39 @@ namespace std template<class _E> class initializer_list { - const _E* __array; - size_t __len; - - // The compiler can call a private constructor. - initializer_list(const _E* __a, size_t __l) - : __array(__a), __len(__l) { } - public: + typedef _E value_type; + typedef const _E& reference; + typedef const _E& const_reference; + typedef size_t size_type; + typedef const _E* iterator; + typedef const _E* const_iterator; - typedef _E value_type; - typedef const _E& reference; - typedef const _E& const_reference; - typedef size_t size_type; + private: + iterator _M_array; + size_type _M_len; - typedef const _E* iterator; - typedef const _E* const_iterator; + // The compiler can call a private constructor. + initializer_list(const_iterator __a, size_type __l) + : _M_array(__a), _M_len(__l) { } - initializer_list() - : __array(NULL), __len(0) { } + public: + initializer_list() : _M_array(NULL), _M_len(0) { } // Number of elements. - size_t size() const - { return __len; } + size_type + size() const { return _M_len; } // First element. - const _E* begin() const - { return __array; } + const_iterator + begin() const { return _M_array; } // One past the last element. - const _E* end() const - { return begin() + size(); } + const_iterator + end() const { return begin() + size(); } }; } #pragma GCC visibility pop #endif // C++0x -#endif // __CXX_INITIALIZER_LIST +#endif // _INITIALIZER_LIST |