|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/ADT/Optional.h 144 T value;
172 T &getValue() LLVM_LVALUE_FUNCTION noexcept {
176 T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
181 T &&getValue() && noexcept {
206 ::new ((void *)std::addressof(value)) T(std::move(y));
216 optional_detail::OptionalStorage<T> Storage;
219 using value_type = T;
224 Optional(const T &y) : Storage(optional_detail::in_place_t{}, y) {}
227 Optional(T &&y) : Storage(optional_detail::in_place_t{}, std::move(y)) {}
230 Optional &operator=(T &&y) {
241 static inline Optional create(const T *y) {
245 Optional &operator=(const T &y) {
253 const T *getPointer() const { return &Storage.getValue(); }
254 T *getPointer() { return &Storage.getValue(); }
255 const T &getValue() const LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
256 T &getValue() LLVM_LVALUE_FUNCTION { return Storage.getValue(); }
260 const T *operator->() const { return getPointer(); }
261 T *operator->() { return getPointer(); }
262 const T &operator*() const LLVM_LVALUE_FUNCTION { return getValue(); }
263 T &operator*() LLVM_LVALUE_FUNCTION { return getValue(); }
266 constexpr T getValueOr(U &&value) const LLVM_LVALUE_FUNCTION {
271 T &&getValue() && { return std::move(Storage.getValue()); }
272 T &&operator*() && { return std::move(Storage.getValue()); }
275 T getValueOr(U &&value) && {
include/llvm/ADT/SmallSet.h 138 SmallVector<T, N> Vector;
139 std::set<T, C> Set;
141 using VIterator = typename SmallVector<T, N>::const_iterator;
142 using mutable_iterator = typename SmallVector<T, N>::iterator;
151 using const_iterator = SmallSetIterator<T, N, C>;
164 size_type count(const T &V) const {
180 std::pair<NoneType, bool> insert(const T &V) {
207 bool erase(const T &V) {
238 VIterator vfind(const T &V) const {
include/llvm/ADT/SmallVector.h 75 AlignedCharArrayUnion<T> FirstEl;
114 using value_type = T;
115 using iterator = T *;
116 using const_iterator = const T *;
121 using reference = T &;
122 using const_reference = const T &;
123 using pointer = T *;
124 using const_pointer = const T *;
259 class SmallVectorTemplateBase<T, true> : public SmallVectorTemplateCommon<T> {
264 static void destroy_range(T *, T *) {}
264 static void destroy_range(T *, T *) {}
299 void grow(size_t MinSize = 0) { this->grow_pod(MinSize, sizeof(T)); }
302 void push_back(const T &Elt) {
305 memcpy(reinterpret_cast<void *>(this->end()), &Elt, sizeof(T));
315 class SmallVectorImpl : public SmallVectorTemplateBase<T> {
316 using SuperClass = SmallVectorTemplateBase<T>;
357 void resize(size_type N, const T &NV) {
374 LLVM_NODISCARD T pop_back_val() {
397 void append(size_type NumInputs, const T &Elt) {
405 void append(std::initializer_list<T> IL) {
412 void assign(size_type NumElts, const T &Elt) {
429 void assign(std::initializer_list<T> IL) {
467 iterator insert(iterator I, T &&Elt) {
497 iterator insert(iterator I, const T &Elt) {
526 iterator insert(iterator I, size_type NumToInsert, const T &Elt) {
637 void insert(iterator I, std::initializer_list<T> IL) {
820 AlignedCharArrayUnion<T> InlineElts[N];
837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
837 class SmallVector : public SmallVectorImpl<T>, SmallVectorStorage<T, N> {
846 explicit SmallVector(size_t Size, const T &Value = T())
865 SmallVector(std::initializer_list<T> IL) : SmallVectorImpl<T>(N) {
884 SmallVector(SmallVectorImpl<T> &&RHS) : SmallVectorImpl<T>(N) {
include/llvm/ADT/StringSwitch.h 48 Optional<T> Result;
67 StringSwitch &Case(StringLiteral S, T Value) {
74 StringSwitch& EndsWith(StringLiteral S, T Value) {
81 StringSwitch& StartsWith(StringLiteral S, T Value) {
88 StringSwitch &Cases(StringLiteral S0, StringLiteral S1, T Value) {
93 T Value) {
98 StringLiteral S3, T Value) {
103 StringLiteral S3, StringLiteral S4, T Value) {
109 T Value) {
115 StringLiteral S6, T Value) {
121 StringLiteral S6, StringLiteral S7, T Value) {
128 T Value) {
135 StringLiteral S9, T Value) {
140 StringSwitch &CaseLower(StringLiteral S, T Value) {
147 StringSwitch &EndsWithLower(StringLiteral S, T Value) {
154 StringSwitch &StartsWithLower(StringLiteral S, T Value) {
161 StringSwitch &CasesLower(StringLiteral S0, StringLiteral S1, T Value) {
166 T Value) {
171 StringLiteral S3, T Value) {
176 StringLiteral S3, StringLiteral S4, T Value) {
181 R Default(T Value) {
181 R Default(T Value) {
188 operator R() {
include/llvm/Support/AlignOf.h 30 T t;
39 template <typename T> union SizerImpl<T> { char arr[sizeof(T)]; };
50 llvm::detail::SizerImpl<T, Ts...>)];
include/llvm/Support/type_traits.h 91 T t;
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
122 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<const F &>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
130 static auto get(F*) -> decltype(std::declval<F &>() = std::declval<F &&>(), std::true_type{});
145 std::is_copy_constructible<detail::trivial_helper<T>>::value;
147 !std::is_copy_constructible<T>::value;
151 std::is_move_constructible<detail::trivial_helper<T>>::value;
153 !std::is_move_constructible<T>::value;
157 is_copy_assignable<detail::trivial_helper<T>>::value;
159 !is_copy_assignable<T>::value;
163 is_move_assignable<detail::trivial_helper<T>>::value;
165 !is_move_assignable<T>::value;
169 std::is_destructible<detail::trivial_helper<T>>::value;
tools/clang/include/clang/Basic/Cuda.h 74 const char *CudaArchToString(CudaArch A);
77 CudaArch StringToCudaArch(llvm::StringRef S);
103 CudaVirtualArch VirtualArchForCudaArch(CudaArch A);
106 CudaVersion MinVersionForCudaArch(CudaArch A);
109 CudaVersion MaxVersionForCudaArch(CudaArch A);
tools/clang/lib/Basic/Cuda.cpp 46 const char *CudaArchToString(CudaArch A) {
48 case CudaArch::LAST:
50 case CudaArch::UNKNOWN:
52 case CudaArch::SM_20:
54 case CudaArch::SM_21:
56 case CudaArch::SM_30:
58 case CudaArch::SM_32:
60 case CudaArch::SM_35:
62 case CudaArch::SM_37:
64 case CudaArch::SM_50:
66 case CudaArch::SM_52:
68 case CudaArch::SM_53:
70 case CudaArch::SM_60:
72 case CudaArch::SM_61:
74 case CudaArch::SM_62:
76 case CudaArch::SM_70:
78 case CudaArch::SM_72:
80 case CudaArch::SM_75:
82 case CudaArch::GFX600: // tahiti
84 case CudaArch::GFX601: // pitcairn, verde, oland,hainan
86 case CudaArch::GFX700: // kaveri
88 case CudaArch::GFX701: // hawaii
90 case CudaArch::GFX702: // 290,290x,R390,R390x
92 case CudaArch::GFX703: // kabini mullins
94 case CudaArch::GFX704: // bonaire
96 case CudaArch::GFX801: // carrizo
98 case CudaArch::GFX802: // tonga,iceland
100 case CudaArch::GFX803: // fiji,polaris10
102 case CudaArch::GFX810: // stoney
104 case CudaArch::GFX900: // vega, instinct
106 case CudaArch::GFX902: // TBA
108 case CudaArch::GFX904: // TBA
110 case CudaArch::GFX906: // TBA
112 case CudaArch::GFX908: // TBA
114 case CudaArch::GFX909: // TBA
116 case CudaArch::GFX1010: // TBA
118 case CudaArch::GFX1011: // TBA
120 case CudaArch::GFX1012: // TBA
126 CudaArch StringToCudaArch(llvm::StringRef S) {
128 .Case("sm_20", CudaArch::SM_20)
129 .Case("sm_21", CudaArch::SM_21)
130 .Case("sm_30", CudaArch::SM_30)
131 .Case("sm_32", CudaArch::SM_32)
132 .Case("sm_35", CudaArch::SM_35)
133 .Case("sm_37", CudaArch::SM_37)
134 .Case("sm_50", CudaArch::SM_50)
135 .Case("sm_52", CudaArch::SM_52)
136 .Case("sm_53", CudaArch::SM_53)
137 .Case("sm_60", CudaArch::SM_60)
138 .Case("sm_61", CudaArch::SM_61)
139 .Case("sm_62", CudaArch::SM_62)
140 .Case("sm_70", CudaArch::SM_70)
141 .Case("sm_72", CudaArch::SM_72)
142 .Case("sm_75", CudaArch::SM_75)
143 .Case("gfx600", CudaArch::GFX600)
144 .Case("gfx601", CudaArch::GFX601)
145 .Case("gfx700", CudaArch::GFX700)
146 .Case("gfx701", CudaArch::GFX701)
147 .Case("gfx702", CudaArch::GFX702)
148 .Case("gfx703", CudaArch::GFX703)
149 .Case("gfx704", CudaArch::GFX704)
150 .Case("gfx801", CudaArch::GFX801)
151 .Case("gfx802", CudaArch::GFX802)
152 .Case("gfx803", CudaArch::GFX803)
153 .Case("gfx810", CudaArch::GFX810)
154 .Case("gfx900", CudaArch::GFX900)
155 .Case("gfx902", CudaArch::GFX902)
156 .Case("gfx904", CudaArch::GFX904)
157 .Case("gfx906", CudaArch::GFX906)
158 .Case("gfx908", CudaArch::GFX908)
159 .Case("gfx909", CudaArch::GFX909)
160 .Case("gfx1010", CudaArch::GFX1010)
161 .Case("gfx1011", CudaArch::GFX1011)
162 .Case("gfx1012", CudaArch::GFX1012)
163 .Default(CudaArch::UNKNOWN);
224 CudaVirtualArch VirtualArchForCudaArch(CudaArch A) {
226 case CudaArch::LAST:
228 case CudaArch::UNKNOWN:
230 case CudaArch::SM_20:
231 case CudaArch::SM_21:
233 case CudaArch::SM_30:
235 case CudaArch::SM_32:
237 case CudaArch::SM_35:
239 case CudaArch::SM_37:
241 case CudaArch::SM_50:
243 case CudaArch::SM_52:
245 case CudaArch::SM_53:
247 case CudaArch::SM_60:
249 case CudaArch::SM_61:
251 case CudaArch::SM_62:
253 case CudaArch::SM_70:
255 case CudaArch::SM_72:
257 case CudaArch::SM_75:
259 case CudaArch::GFX600:
260 case CudaArch::GFX601:
261 case CudaArch::GFX700:
262 case CudaArch::GFX701:
263 case CudaArch::GFX702:
264 case CudaArch::GFX703:
265 case CudaArch::GFX704:
266 case CudaArch::GFX801:
267 case CudaArch::GFX802:
268 case CudaArch::GFX803:
269 case CudaArch::GFX810:
270 case CudaArch::GFX900:
271 case CudaArch::GFX902:
272 case CudaArch::GFX904:
273 case CudaArch::GFX906:
274 case CudaArch::GFX908:
275 case CudaArch::GFX909:
276 case CudaArch::GFX1010:
277 case CudaArch::GFX1011:
278 case CudaArch::GFX1012:
284 CudaVersion MinVersionForCudaArch(CudaArch A) {
286 case CudaArch::LAST:
288 case CudaArch::UNKNOWN:
290 case CudaArch::SM_20:
291 case CudaArch::SM_21:
292 case CudaArch::SM_30:
293 case CudaArch::SM_32:
294 case CudaArch::SM_35:
295 case CudaArch::SM_37:
296 case CudaArch::SM_50:
297 case CudaArch::SM_52:
298 case CudaArch::SM_53:
300 case CudaArch::SM_60:
301 case CudaArch::SM_61:
302 case CudaArch::SM_62:
304 case CudaArch::SM_70:
306 case CudaArch::SM_72:
308 case CudaArch::SM_75:
310 case CudaArch::GFX600:
311 case CudaArch::GFX601:
312 case CudaArch::GFX700:
313 case CudaArch::GFX701:
314 case CudaArch::GFX702:
315 case CudaArch::GFX703:
316 case CudaArch::GFX704:
317 case CudaArch::GFX801:
318 case CudaArch::GFX802:
319 case CudaArch::GFX803:
320 case CudaArch::GFX810:
321 case CudaArch::GFX900:
322 case CudaArch::GFX902:
323 case CudaArch::GFX904:
324 case CudaArch::GFX906:
325 case CudaArch::GFX908:
326 case CudaArch::GFX909:
327 case CudaArch::GFX1010:
328 case CudaArch::GFX1011:
329 case CudaArch::GFX1012:
335 CudaVersion MaxVersionForCudaArch(CudaArch A) {
337 case CudaArch::UNKNOWN:
339 case CudaArch::SM_20:
340 case CudaArch::SM_21:
341 case CudaArch::GFX600:
342 case CudaArch::GFX601:
343 case CudaArch::GFX700:
344 case CudaArch::GFX701:
345 case CudaArch::GFX702:
346 case CudaArch::GFX703:
347 case CudaArch::GFX704:
348 case CudaArch::GFX801:
349 case CudaArch::GFX802:
350 case CudaArch::GFX803:
351 case CudaArch::GFX810:
352 case CudaArch::GFX900:
353 case CudaArch::GFX902:
354 case CudaArch::GFX1010:
355 case CudaArch::GFX1011:
356 case CudaArch::GFX1012:
tools/clang/lib/Basic/Targets/NVPTX.cpp 68 GPU = CudaArch::SM_20;
179 case CudaArch::GFX600:
180 case CudaArch::GFX601:
181 case CudaArch::GFX700:
182 case CudaArch::GFX701:
183 case CudaArch::GFX702:
184 case CudaArch::GFX703:
185 case CudaArch::GFX704:
186 case CudaArch::GFX801:
187 case CudaArch::GFX802:
188 case CudaArch::GFX803:
189 case CudaArch::GFX810:
190 case CudaArch::GFX900:
191 case CudaArch::GFX902:
192 case CudaArch::GFX904:
193 case CudaArch::GFX906:
194 case CudaArch::GFX908:
195 case CudaArch::GFX909:
196 case CudaArch::GFX1010:
197 case CudaArch::GFX1011:
198 case CudaArch::GFX1012:
199 case CudaArch::LAST:
201 case CudaArch::UNKNOWN:
204 case CudaArch::SM_20:
206 case CudaArch::SM_21:
208 case CudaArch::SM_30:
210 case CudaArch::SM_32:
212 case CudaArch::SM_35:
214 case CudaArch::SM_37:
216 case CudaArch::SM_50:
218 case CudaArch::SM_52:
220 case CudaArch::SM_53:
222 case CudaArch::SM_60:
224 case CudaArch::SM_61:
226 case CudaArch::SM_62:
228 case CudaArch::SM_70:
230 case CudaArch::SM_72:
232 case CudaArch::SM_75:
tools/clang/lib/Basic/Targets/NVPTX.h 51 CudaArch GPU;
109 return StringToCudaArch(Name) != CudaArch::UNKNOWN;
113 for (int i = static_cast<int>(CudaArch::SM_20);
114 i < static_cast<int>(CudaArch::LAST); ++i)
120 return GPU != CudaArch::UNKNOWN;
tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp 4930 static CudaArch getCudaArch(CodeGenModule &CGM) {
4932 return CudaArch::UNKNOWN;
4939 CudaArch Arch = StringToCudaArch(Feature.getKey());
4940 if (Arch != CudaArch::UNKNOWN)
4944 return CudaArch::UNKNOWN;
4954 case CudaArch::SM_20:
4955 case CudaArch::SM_21:
4956 case CudaArch::SM_30:
4957 case CudaArch::SM_32:
4958 case CudaArch::SM_35:
4959 case CudaArch::SM_37:
4960 case CudaArch::SM_50:
4961 case CudaArch::SM_52:
4962 case CudaArch::SM_53:
4963 case CudaArch::SM_60:
4964 case CudaArch::SM_61:
4965 case CudaArch::SM_62:
4969 case CudaArch::SM_70:
4970 case CudaArch::SM_72:
4971 case CudaArch::SM_75:
4972 case CudaArch::GFX600:
4973 case CudaArch::GFX601:
4974 case CudaArch::GFX700:
4975 case CudaArch::GFX701:
4976 case CudaArch::GFX702:
4977 case CudaArch::GFX703:
4978 case CudaArch::GFX704:
4979 case CudaArch::GFX801:
4980 case CudaArch::GFX802:
4981 case CudaArch::GFX803:
4982 case CudaArch::GFX810:
4983 case CudaArch::GFX900:
4984 case CudaArch::GFX902:
4985 case CudaArch::GFX904:
4986 case CudaArch::GFX906:
4987 case CudaArch::GFX908:
4988 case CudaArch::GFX909:
4989 case CudaArch::GFX1010:
4990 case CudaArch::GFX1011:
4991 case CudaArch::GFX1012:
4992 case CudaArch::UNKNOWN:
4994 case CudaArch::LAST:
5012 case CudaArch::SM_20:
5013 case CudaArch::SM_21:
5014 case CudaArch::SM_30:
5015 case CudaArch::SM_32:
5016 case CudaArch::SM_35:
5017 case CudaArch::SM_37:
5018 case CudaArch::SM_50:
5019 case CudaArch::SM_52:
5020 case CudaArch::SM_53:
5022 case CudaArch::SM_60:
5023 case CudaArch::SM_61:
5024 case CudaArch::SM_62:
5026 case CudaArch::SM_70:
5027 case CudaArch::SM_72:
5028 case CudaArch::SM_75:
5030 case CudaArch::GFX600:
5031 case CudaArch::GFX601:
5032 case CudaArch::GFX700:
5033 case CudaArch::GFX701:
5034 case CudaArch::GFX702:
5035 case CudaArch::GFX703:
5036 case CudaArch::GFX704:
5037 case CudaArch::GFX801:
5038 case CudaArch::GFX802:
5039 case CudaArch::GFX803:
5040 case CudaArch::GFX810:
5041 case CudaArch::GFX900:
5042 case CudaArch::GFX902:
5043 case CudaArch::GFX904:
5044 case CudaArch::GFX906:
5045 case CudaArch::GFX908:
5046 case CudaArch::GFX909:
5047 case CudaArch::GFX1010:
5048 case CudaArch::GFX1011:
5049 case CudaArch::GFX1012:
5050 case CudaArch::UNKNOWN:
5052 case CudaArch::LAST:
tools/clang/lib/Driver/Driver.cpp 2341 SmallVector<CudaArch, 4> GpuArchList;
2356 CudaArch DefaultCudaArch = CudaArch::UNKNOWN;
2356 CudaArch DefaultCudaArch = CudaArch::UNKNOWN;
2422 for (auto Arch : GpuArchList) {
2444 AddTopLevel(CudaFatBinary, CudaArch::UNKNOWN);
2513 std::set<CudaArch> GpuArchs;
2527 CudaArch Arch = StringToCudaArch(ArchStr);
2528 if (Arch == CudaArch::UNKNOWN) {
2540 for (CudaArch Arch : GpuArchs)
2560 DefaultCudaArch = CudaArch::SM_20;
2677 DefaultCudaArch = CudaArch::GFX803;
tools/clang/lib/Driver/ToolChains/Cuda.cpp 172 const CudaArch GpuArch = StringToCudaArch(GpuArchName);
259 CudaArch Arch) const {
260 if (Arch == CudaArch::UNKNOWN || Version == CudaVersion::UNKNOWN ||
342 CudaArch gpu_arch = StringToCudaArch(GPUArchName);
472 CudaArch gpu_arch = StringToCudaArch(gpu_arch_str);
tools/clang/lib/Driver/ToolChains/Cuda.h 42 mutable llvm::SmallSet<CudaArch, 4> ArchsWithBadVersion;
55 void CheckCudaVersionSupportsArch(CudaArch Arch) const;
usr/include/c++/7.4.0/bits/alloc_traits.h 387 using allocator_type = allocator<_Tp>;
389 using value_type = _Tp;
392 using pointer = _Tp*;
395 using const_pointer = const _Tp*;
474 construct(allocator_type& __a, _Up* __p, _Args&&... __args)
474 construct(allocator_type& __a, _Up* __p, _Args&&... __args)
486 destroy(allocator_type& __a, _Up* __p)
usr/include/c++/7.4.0/bits/move.h 46 inline _GLIBCXX_CONSTEXPR _Tp*
47 __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
72 constexpr _Tp&&
83 constexpr _Tp&&
98 move(_Tp&& __t) noexcept
136 inline _GLIBCXX17_CONSTEXPR _Tp*
137 addressof(_Tp& __r) noexcept
143 const _Tp* addressof(const _Tp&&) = delete;
143 const _Tp* addressof(const _Tp&&) = delete;
usr/include/c++/7.4.0/bits/stl_function.h 108 typedef _Arg argument_type;
111 typedef _Result result_type;
121 typedef _Arg1 first_argument_type;
124 typedef _Arg2 second_argument_type;
381 struct less : public binary_function<_Tp, _Tp, bool>
381 struct less : public binary_function<_Tp, _Tp, bool>
385 operator()(const _Tp& __x, const _Tp& __y) const
385 operator()(const _Tp& __x, const _Tp& __y) const
870 : public unary_function<_Tp,_Tp>
870 : public unary_function<_Tp,_Tp>
872 _Tp&
873 operator()(_Tp& __x) const
876 const _Tp&
877 operator()(const _Tp& __x) const
usr/include/c++/7.4.0/bits/stl_set.h 110 typedef _Key key_type;
111 typedef _Key value_type;
119 rebind<_Key>::other _Key_alloc_type;
usr/include/c++/7.4.0/bits/stl_tree.h 218 typedef _Rb_tree_node<_Val>* _Link_type;
231 __gnu_cxx::__aligned_membuf<_Val> _M_storage;
233 _Val*
237 const _Val*
258 typedef _Tp value_type;
259 typedef _Tp& reference;
260 typedef _Tp* pointer;
265 typedef _Rb_tree_iterator<_Tp> _Self;
267 typedef _Rb_tree_node<_Tp>* _Link_type;
328 typedef _Tp value_type;
329 typedef const _Tp& reference;
330 typedef const _Tp* pointer;
332 typedef _Rb_tree_iterator<_Tp> iterator;
337 typedef _Rb_tree_const_iterator<_Tp> _Self;
339 typedef const _Rb_tree_node<_Tp>* _Link_type;
447 rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
454 typedef _Rb_tree_node<_Val>* _Link_type;
455 typedef const _Rb_tree_node<_Val>* _Const_Link_type;
554 operator()(_Arg&& __arg) const
563 typedef _Key key_type;
564 typedef _Val value_type;
621 _M_construct_node(_Link_type __node, _Args&&... __args)
625 ::new(__node) _Rb_tree_node<_Val>;
640 _M_create_node(_Args&&... __args)
758 static const _Key&
782 static const _Key&
834 _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
894 const _Key& __k);
898 const _Key& __k) const;
902 const _Key& __k);
906 const _Key& __k) const;
1011 _M_insert_unique(_Arg&& __x);
usr/include/c++/7.4.0/ext/aligned_buffer.h 52 struct _Tp2 { _Tp _M_t; };
54 alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
69 _Tp*
73 const _Tp*
usr/include/c++/7.4.0/ext/alloc_traits.h 117 { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
usr/include/c++/7.4.0/ext/new_allocator.h 135 construct(_Up* __p, _Args&&... __args)
135 construct(_Up* __p, _Args&&... __args)
136 { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
140 destroy(_Up* __p) { __p->~_Up(); }
140 destroy(_Up* __p) { __p->~_Up(); }
usr/include/c++/7.4.0/initializer_list 50 typedef _E value_type;
51 typedef const _E& reference;
52 typedef const _E& const_reference;
54 typedef const _E* iterator;
55 typedef const _E* const_iterator;
usr/include/c++/7.4.0/type_traits 215 : public __is_void_helper<typename remove_cv<_Tp>::type>::type
326 : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
354 : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
581 : public __or_<is_lvalue_reference<_Tp>,
582 is_rvalue_reference<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
588 : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
601 : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
602 is_void<_Tp>>>::type
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
611 : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
612 is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
638 : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
777 : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
825 : public __is_destructible_safe<_Tp>::type
984 typedef decltype(__test<_Tp, _Arg>(0)) type;
989 : public __and_<is_destructible<_Tp>,
990 __is_direct_constructible_impl<_Tp, _Arg>>
1072 __is_direct_constructible_ref_cast<_Tp, _Arg>,
1073 __is_direct_constructible_new_safe<_Tp, _Arg>
1079 : public __is_direct_constructible_new<_Tp, _Arg>::type
1119 : public __is_direct_constructible<_Tp, _Arg>
1130 : public __is_constructible_impl<_Tp, _Args...>::type
1142 : public is_constructible<_Tp, const _Tp&>
1142 : public is_constructible<_Tp, const _Tp&>
1148 : public __is_copy_constructible_impl<_Tp>
1160 : public is_constructible<_Tp, _Tp&&>
1160 : public is_constructible<_Tp, _Tp&&>
1166 : public __is_move_constructible_impl<_Tp>
1554 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };