|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
References
include/llvm/ADT/ArrayRef.h 43 using iterator = const T *;
44 using const_iterator = const T *;
50 const T *Data = nullptr;
66 /*implicit*/ ArrayRef(const T &OneElt)
70 /*implicit*/ ArrayRef(const T *data, size_t length)
74 ArrayRef(const T *begin, const T *end)
74 ArrayRef(const T *begin, const T *end)
81 /*implicit*/ ArrayRef(const SmallVectorTemplateCommon<T, U> &Vec)
87 /*implicit*/ ArrayRef(const std::vector<T, A> &Vec)
92 /*implicit*/ constexpr ArrayRef(const std::array<T, N> &Arr)
97 /*implicit*/ constexpr ArrayRef(const T (&Arr)[N]) : Data(Arr), Length(N) {}
100 /*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
145 const T *data() const { return Data; }
151 const T &front() const {
157 const T &back() const {
163 template <typename Allocator> ArrayRef<T> copy(Allocator &A) {
178 ArrayRef<T> slice(size_t N, size_t M) const {
184 ArrayRef<T> slice(size_t N) const { return slice(N, size() - N); }
187 ArrayRef<T> drop_front(size_t N = 1) const {
193 ArrayRef<T> drop_back(size_t N = 1) const {
200 template <class PredicateT> ArrayRef<T> drop_while(PredicateT Pred) const {
206 template <class PredicateT> ArrayRef<T> drop_until(PredicateT Pred) const {
211 ArrayRef<T> take_front(size_t N = 1) const {
218 ArrayRef<T> take_back(size_t N = 1) const {
226 template <class PredicateT> ArrayRef<T> take_while(PredicateT Pred) const {
232 template <class PredicateT> ArrayRef<T> take_until(PredicateT Pred) const {
239 const T &operator[](size_t Index) const {
249 typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
257 typename std::enable_if<std::is_same<U, T>::value, ArrayRef<T>>::type &
263 std::vector<T> vec() const {
270 operator std::vector<T>() const {
456 ArrayRef<T> makeArrayRef(const T *data, size_t length) {
456 ArrayRef<T> makeArrayRef(const T *data, size_t length) {
523 inline bool operator==(ArrayRef<T> LHS, ArrayRef<T> RHS) {
523 inline bool operator==(ArrayRef<T> LHS, ArrayRef<T> RHS) {
528 inline bool operator!=(ArrayRef<T> LHS, ArrayRef<T> RHS) {
528 inline bool operator!=(ArrayRef<T> LHS, ArrayRef<T> RHS) {
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 *) {}
286 T1 *I, T1 *E, T2 *Dest,
286 T1 *I, T1 *E, T2 *Dest,
286 T1 *I, T1 *E, T2 *Dest,
287 typename std::enable_if<std::is_same<typename std::remove_const<T1>::type,
288 T2>::value>::type * = nullptr) {
294 memcpy(reinterpret_cast<void *>(Dest), I, (E - I) * sizeof(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>;
352 new (&*I) 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) {
549 T *OldEnd = this->end();
564 T *OldEnd = this->end();
637 void insert(iterator I, std::initializer_list<T> IL) {
644 ::new ((void *)this->end()) T(std::forward<ArgTypes>(Args)...);
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/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/Alignment.h 103 return Constant<std::alignment_of<T>::value>();
include/llvm/Support/TrailingObjects.h 65 FirstAlignment = alignof(First),
66 RestAlignment = AlignmentCalcHelper<Rest...>::Alignment,
77 enum { Alignment = alignof(First) };
134 : public TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy,
135 MoreTys...> {
137 typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
137 typedef TrailingObjectsImpl<Align, BaseTy, TopTrailingObj, NextTy, MoreTys...>
141 static const bool value = alignof(PrevTy) < alignof(NextTy);
141 static const bool value = alignof(PrevTy) < alignof(NextTy);
161 static const NextTy *
163 TrailingObjectsBase::OverloadToken<NextTy>) {
171 alignAddr(Ptr, Align::Of<NextTy>()));
176 static NextTy *
178 TrailingObjectsBase::OverloadToken<NextTy>) {
179 auto *Ptr = TopTrailingObj::getTrailingObjectsImpl(
185 return reinterpret_cast<NextTy *>(alignAddr(Ptr, Align::Of<NextTy>()));
195 typename ExtractSecondType<MoreTys, size_t>::type... MoreCounts) {
197 (requiresRealignment() ? llvm::alignTo<alignof(NextTy)>(SizeSoFar)
199 sizeof(NextTy) * Count1,
231 TrailingTys...>::Alignment,
232 BaseTy, TrailingObjects<BaseTy, TrailingTys...>,
233 BaseTy, TrailingTys...> {
241 trailing_objects_internal::AlignmentCalcHelper<TrailingTys...>::Alignment,
242 BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
242 BaseTy, TrailingObjects<BaseTy, TrailingTys...>, BaseTy, TrailingTys...>
284 TrailingObjectsBase::OverloadToken<T>) {
302 template <typename T> const T *getTrailingObjects() const {
314 template <typename T> T *getTrailingObjects() {
332 TrailingTys, size_t>::type... Counts) {
342 std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
342 std::is_same<Foo<TrailingTys...>, Foo<Tys...>>::value, size_t>::type
344 TrailingTys, size_t>::type... Counts) {
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/AST/ASTContext.h 2647 SmallVectorImpl<FunctionProtoType::ExtParameterInfo> &NewParamInfos);
tools/clang/include/clang/AST/Type.h 3433 ExtParameterInfo withABI(ParameterABI kind) const {
3434 ExtParameterInfo copy = *this;
3442 ExtParameterInfo withIsConsumed(bool consumed) const {
3443 ExtParameterInfo copy = *this;
3452 ExtParameterInfo withHasPassObjectSize() const {
3453 ExtParameterInfo Copy = *this;
3459 ExtParameterInfo withIsNoEscape(bool NoEscape) const {
3460 ExtParameterInfo Copy = *this;
3469 static ExtParameterInfo getFromOpaqueValue(unsigned char data) {
3470 ExtParameterInfo result;
3475 friend bool operator==(ExtParameterInfo lhs, ExtParameterInfo rhs) {
3475 friend bool operator==(ExtParameterInfo lhs, ExtParameterInfo rhs) {
3479 friend bool operator!=(ExtParameterInfo lhs, ExtParameterInfo rhs) {
3479 friend bool operator!=(ExtParameterInfo lhs, ExtParameterInfo rhs) {
3731 FunctionType::ExtParameterInfo, Qualifiers> {
3812 const ExtParameterInfo *ExtParameterInfos = nullptr;
3847 unsigned numTrailingObjects(OverloadToken<ExtParameterInfo>) const {
4102 ArrayRef<ExtParameterInfo> getExtParameterInfos() const {
4104 return ArrayRef<ExtParameterInfo>(getTrailingObjects<ExtParameterInfo>(),
4111 const ExtParameterInfo *getExtParameterInfosOrNull() const {
4114 return getTrailingObjects<ExtParameterInfo>();
4117 ExtParameterInfo getExtParameterInfo(unsigned I) const {
4120 return getTrailingObjects<ExtParameterInfo>()[I];
4127 return getTrailingObjects<ExtParameterInfo>()[I].getABI();
4134 return getTrailingObjects<ExtParameterInfo>()[I].isConsumed();
tools/clang/include/clang/CodeGen/CGFunctionInfo.h 480 FunctionProtoType::ExtParameterInfo> {
482 typedef FunctionProtoType::ExtParameterInfo ExtParameterInfo;
673 for (auto paramInfo : getExtParameterInfos())
700 for (auto paramInfo : paramInfos)
tools/clang/include/clang/Sema/Sema.h 8276 SmallVector<FunctionProtoType::ExtParameterInfo, 16> Infos;
8282 void set(unsigned index, FunctionProtoType::ExtParameterInfo info) {
8293 const FunctionProtoType::ExtParameterInfo *
8334 const FunctionProtoType::ExtParameterInfo *ExtParamInfos,
tools/clang/lib/AST/ASTContext.cpp 3882 FunctionProtoType::ExtParameterInfo, Qualifiers>(
8734 SmallVector<FunctionProtoType::ExtParameterInfo, 4> newParamInfos;
9172 SmallVectorImpl<FunctionProtoType::ExtParameterInfo> &NewParamInfos) {
9188 FunctionProtoType::ExtParameterInfo FirstParam, SecondParam;
tools/clang/lib/AST/ItaniumMangle.cpp 524 void mangleExtParameterInfo(FunctionProtoType::ExtParameterInfo info);
2780 CXXNameMangler::mangleExtParameterInfo(FunctionProtoType::ExtParameterInfo PI) {
tools/clang/lib/AST/Type.cpp 3057 auto *extParamInfos = getTrailingObjects<ExtParameterInfo>();
3057 auto *extParamInfos = getTrailingObjects<ExtParameterInfo>();
tools/clang/lib/AST/TypePrinter.cpp 794 auto EPI = T->getExtParameterInfo(i);
tools/clang/lib/CodeGen/CGCall.cpp 113 llvm::SmallVectorImpl<FunctionProtoType::ExtParameterInfo> ¶mInfos,
127 for (const auto &ParamInfo : proto->getExtParameterInfos()) {
144 SmallVectorImpl<FunctionProtoType::ExtParameterInfo> ¶mInfos,
178 SmallVector<FunctionProtoType::ExtParameterInfo, 16> paramInfos;
309 SmallVector<FunctionProtoType::ExtParameterInfo, 16> paramInfos;
370 static llvm::SmallVector<FunctionProtoType::ExtParameterInfo, 16>
373 llvm::SmallVector<FunctionProtoType::ExtParameterInfo, 16> result;
417 llvm::SmallVector<FunctionProtoType::ExtParameterInfo, 16> ParamInfos;
473 SmallVector<FunctionProtoType::ExtParameterInfo, 4> extParamInfos(2);
479 auto extParamInfo = FunctionProtoType::ExtParameterInfo().withIsNoEscape(
570 llvm::SmallVector<FunctionProtoType::ExtParameterInfo, 16> paramInfos;
707 SmallVector<FunctionProtoType::ExtParameterInfo, 16> paramInfos;
741 ArrayRef<FunctionProtoType::ExtParameterInfo> paramInfos,
tools/clang/lib/CodeGen/CodeGenTypes.h 271 ArrayRef<FunctionProtoType::ExtParameterInfo> paramInfos,
tools/clang/lib/Sema/SemaOverload.cpp 1546 SmallVector<FunctionProtoType::ExtParameterInfo, 4> NewParamInfos;
2759 SmallVector<FunctionProtoType::ExtParameterInfo, 4> NewParamInfos;
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp 1917 const FunctionProtoType::ExtParameterInfo *ExtParamInfos,
tools/clang/lib/Sema/SemaType.cpp 4804 SmallVector<FunctionProtoType::ExtParameterInfo, 16>
tools/clang/lib/Sema/TreeTransform.h 648 const FunctionProtoType::ExtParameterInfo *ParamInfos,
5154 const FunctionProtoType::ExtParameterInfo *ParamInfos,
tools/clang/lib/Serialization/ASTReader.cpp 6530 SmallVector<FunctionProtoType::ExtParameterInfo, 4> ExtParameterInfos;
6534 FunctionProtoType::ExtParameterInfo
usr/include/c++/7.4.0/bits/algorithmfwd.h 259 fill_n(_OIter, _Size, const _Tp&);
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*;
usr/include/c++/7.4.0/bits/allocator.h 108 class allocator: public __allocator_base<_Tp>
113 typedef _Tp* pointer;
114 typedef const _Tp* const_pointer;
115 typedef _Tp& reference;
116 typedef const _Tp& const_reference;
117 typedef _Tp value_type;
137 allocator(const allocator<_Tp1>&) throw() { }
usr/include/c++/7.4.0/bits/cpp_type_traits.h 329 : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
329 : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
337 : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
337 : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
usr/include/c++/7.4.0/bits/move.h 46 inline _GLIBCXX_CONSTEXPR _Tp*
47 __addressof(_Tp& __r) _GLIBCXX_NOEXCEPT
72 constexpr _Tp&&
73 forward(typename std::remove_reference<_Tp>::type& __t) noexcept
83 constexpr _Tp&&
84 forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
98 move(_Tp&& __t) noexcept
usr/include/c++/7.4.0/bits/stl_algobase.h 737 __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type
738 __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value)
usr/include/c++/7.4.0/bits/stl_construct.h 74 _Construct(_T1* __p, _Args&&... __args)
74 _Construct(_T1* __p, _Args&&... __args)
75 { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
75 { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
usr/include/c++/7.4.0/bits/stl_iterator_base_types.h 181 typedef _Tp value_type;
183 typedef _Tp* pointer;
184 typedef _Tp& reference;
192 typedef _Tp value_type;
194 typedef const _Tp* pointer;
195 typedef const _Tp& reference;
usr/include/c++/7.4.0/bits/stl_uninitialized.h 144 const _Tp& __x)
182 const _Tp& __x)
204 const _Tp& __x)
244 uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
usr/include/c++/7.4.0/bits/stl_vector.h 77 rebind<_Tp>::other _Tp_alloc_type;
216 class vector : protected _Vector_base<_Tp, _Alloc>
227 typedef _Vector_base<_Tp, _Alloc> _Base;
232 typedef _Tp value_type;
919 _Tp*
923 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 63 typedef _Tp* pointer;
64 typedef const _Tp* const_pointer;
65 typedef _Tp& reference;
66 typedef const _Tp& const_reference;
67 typedef _Tp value_type;
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
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
567 : public __is_null_pointer_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
631 : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::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>>>
798 typedef decltype(__test<_Tp>(0)) type;
811 remove_all_extents<_Tp>::type>::type
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>
1286 : public is_assignable<_Tp&, const _Tp&>
1286 : public is_assignable<_Tp&, const _Tp&>
1292 : public __is_copy_assignable_impl<_Tp>
1554 { typedef _Tp type; };
1558 { typedef _Tp type; };
1563 { typedef _Tp type; };
1574 remove_const<typename remove_volatile<_Tp>::type>::type type;
1629 { typedef _Tp type; };
1633 { typedef _Tp type; };
1659 { typedef _Tp&& type; };
1955 { typedef _Tp type; };