Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/c++/11/initializer_list
$ cat -n /usr/include/c++/11/initializer_list 1 // std::initializer_list support -*- C++ -*- 2 3 // Copyright (C) 2008-2021 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 #pragma GCC visibility push(default) 40 41 #include
42 43 namespace std 44 { 45 /// initializer_list 46 template
47 class initializer_list 48 { 49 public: 50 typedef _E value_type; 51 typedef const _E& reference; 52 typedef const _E& const_reference; 53 typedef size_t size_type; 54 typedef const _E* iterator; 55 typedef const _E* const_iterator; 56 57 private: 58 iterator _M_array; 59 size_type _M_len; 60 61 // The compiler can call a private constructor. 62 constexpr initializer_list(const_iterator __a, size_type __l) 63 : _M_array(__a), _M_len(__l) { } 64 65 public: 66 constexpr initializer_list() noexcept 67 : _M_array(0), _M_len(0) { } 68 69 // Number of elements. 70 constexpr size_type 71 size() const noexcept { return _M_len; } 72 73 // First element. 74 constexpr const_iterator 75 begin() const noexcept { return _M_array; } 76 77 // One past the last element. 78 constexpr const_iterator 79 end() const noexcept { return begin() + size(); } 80 }; 81 82 /** 83 * @brief Return an iterator pointing to the first element of 84 * the initializer_list. 85 * @param __ils Initializer list. 86 * @relates initializer_list 87 */ 88 template
89 constexpr const _Tp* 90 begin(initializer_list<_Tp> __ils) noexcept 91 { return __ils.begin(); } 92 93 /** 94 * @brief Return an iterator pointing to one past the last element 95 * of the initializer_list. 96 * @param __ils Initializer list. 97 * @relates initializer_list 98 */ 99 template
100 constexpr const _Tp* 101 end(initializer_list<_Tp> __ils) noexcept 102 { return __ils.end(); } 103 } 104 105 #pragma GCC visibility pop 106 107 #endif // C++11 108 109 #endif // _INITIALIZER_LIST
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™