Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/c++/13/initializer_list
$ cat -n /usr/include/c++/13/initializer_list 1 // std::initializer_list support -*- C++ -*- 2 3 // Copyright (C) 2008-2023 Free Software Foundation, Inc. 4 // 5 // This file is part of GCC. 6 // 7 // GCC is free software; you can redistribute it and/or modify 8 // it under the terms of the GNU General Public License as published by 9 // the Free Software Foundation; either version 3, or (at your option) 10 // any later version. 11 // 12 // GCC is distributed in the hope that it will be useful, 13 // but WITHOUT ANY WARRANTY; without even the implied warranty of 14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 // GNU General Public License for more details. 16 // 17 // Under Section 7 of GPL version 3, you are granted additional 18 // permissions described in the GCC Runtime Library Exception, version 19 // 3.1, as published by the Free Software Foundation. 20 21 // You should have received a copy of the GNU General Public License and 22 // a copy of the GCC Runtime Library Exception along with this program; 23 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 24 //
. 25 26 /** @file initializer_list 27 * This is a Standard C++ Library header. 28 */ 29 30 #ifndef _INITIALIZER_LIST 31 #define _INITIALIZER_LIST 32 33 #pragma GCC system_header 34 35 #if __cplusplus < 201103L 36 # include
37 #else // C++0x 38 39 #include
40 41 namespace std _GLIBCXX_VISIBILITY(default) 42 { 43 /// initializer_list 44 template
45 class initializer_list 46 { 47 public: 48 typedef _E value_type; 49 typedef const _E& reference; 50 typedef const _E& const_reference; 51 typedef size_t size_type; 52 typedef const _E* iterator; 53 typedef const _E* const_iterator; 54 55 private: 56 iterator _M_array; 57 size_type _M_len; 58 59 // The compiler can call a private constructor. 60 constexpr initializer_list(const_iterator __a, size_type __l) 61 : _M_array(__a), _M_len(__l) { } 62 63 public: 64 constexpr initializer_list() noexcept 65 : _M_array(0), _M_len(0) { } 66 67 // Number of elements. 68 constexpr size_type 69 size() const noexcept { return _M_len; } 70 71 // First element. 72 constexpr const_iterator 73 begin() const noexcept { return _M_array; } 74 75 // One past the last element. 76 constexpr const_iterator 77 end() const noexcept { return begin() + size(); } 78 }; 79 80 /** 81 * @brief Return an iterator pointing to the first element of 82 * the initializer_list. 83 * @param __ils Initializer list. 84 * @relates initializer_list 85 */ 86 template
87 constexpr const _Tp* 88 begin(initializer_list<_Tp> __ils) noexcept 89 { return __ils.begin(); } 90 91 /** 92 * @brief Return an iterator pointing to one past the last element 93 * of the initializer_list. 94 * @param __ils Initializer list. 95 * @relates initializer_list 96 */ 97 template
98 constexpr const _Tp* 99 end(initializer_list<_Tp> __ils) noexcept 100 { return __ils.end(); } 101 } 102 103 #endif // C++11 104 105 #endif // _INITIALIZER_LIST
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™