Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/c++/13/experimental/source_location
$ cat -n /usr/include/c++/13/experimental/source_location 1 //
-*- C++ -*- 2 3 // Copyright (C) 2015-2023 Free Software Foundation, Inc. 4 // 5 // This file is part of the GNU ISO C++ Library. This library is free 6 // software; you can redistribute it and/or modify it under the 7 // terms of the GNU General Public License as published by the 8 // Free Software Foundation; either version 3, or (at your option) 9 // any later version. 10 11 // This library is distributed in the hope that it will be useful, 12 // but WITHOUT ANY WARRANTY; without even the implied warranty of 13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 // GNU General Public License for more details. 15 16 // Under Section 7 of GPL version 3, you are granted additional 17 // permissions described in the GCC Runtime Library Exception, version 18 // 3.1, as published by the Free Software Foundation. 19 20 // You should have received a copy of the GNU General Public License and 21 // a copy of the GCC Runtime Library Exception along with this program; 22 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 23 //
. 24 25 /** @file experimental/source_location 26 * This is a TS C++ Library header. 27 * @ingroup libfund-ts 28 */ 29 30 #ifndef _GLIBCXX_EXPERIMENTAL_SRCLOC 31 #define _GLIBCXX_EXPERIMENTAL_SRCLOC 1 32 33 #include
// experimental is currently omitted 34 35 #if __cplusplus >= 201402L 36 #include
37 38 namespace std { 39 _GLIBCXX_BEGIN_NAMESPACE_VERSION 40 41 namespace experimental { 42 inline namespace fundamentals_v2 { 43 #define __cpp_lib_experimental_source_location 201505 44 45 struct source_location 46 { 47 #ifndef _GLIBCXX_USE_C99_STDINT_TR1 48 private: 49 using uint_least32_t = unsigned; 50 public: 51 #endif 52 53 // 14.1.2, source_location creation 54 static constexpr source_location 55 current(const char* __file = __builtin_FILE(), 56 const char* __func = __builtin_FUNCTION(), 57 int __line = __builtin_LINE(), 58 int __col = 0) noexcept 59 { 60 source_location __loc; 61 __loc._M_file = __file; 62 __loc._M_func = __func; 63 __loc._M_line = __line; 64 __loc._M_col = __col; 65 return __loc; 66 } 67 68 constexpr source_location() noexcept 69 : _M_file("unknown"), _M_func(_M_file), _M_line(0), _M_col(0) 70 { } 71 72 // 14.1.3, source_location field access 73 constexpr uint_least32_t line() const noexcept { return _M_line; } 74 constexpr uint_least32_t column() const noexcept { return _M_col; } 75 constexpr const char* file_name() const noexcept { return _M_file; } 76 constexpr const char* function_name() const noexcept { return _M_func; } 77 78 private: 79 const char* _M_file; 80 const char* _M_func; 81 uint_least32_t _M_line; 82 uint_least32_t _M_col; 83 }; 84 } // namespace fundamentals_v2 85 } // namespace experimental 86 87 _GLIBCXX_END_NAMESPACE_VERSION 88 } // namespace std 89 90 #endif // C++14 91 #endif // _GLIBCXX_EXPERIMENTAL_SRCLOC
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™