|
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;
160 explicit OptionalStorage(in_place_t, Args &&... args)
172 T &getValue() LLVM_LVALUE_FUNCTION noexcept {
176 T const &getValue() const LLVM_LVALUE_FUNCTION noexcept {
181 T &&getValue() && noexcept {
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/StringMap.h 129 ValueTy second;
134 StringMapEntryStorage(size_t strLen, InitTy &&... InitVals)
135 : StringMapEntryBase(strLen), second(std::forward<InitTy>(InitVals)...) {}
138 const ValueTy &getValue() const { return second; }
139 ValueTy &getValue() { return second; }
141 void setValue(const ValueTy &V) { second = V; }
158 class StringMapEntry final : public StringMapEntryStorage<ValueTy> {
160 using StringMapEntryStorage<ValueTy>::StringMapEntryStorage;
179 InitTy &&... InitVals) {
192 new (NewItem) StringMapEntry(KeyLength, std::forward<InitTy>(InitVals)...);
204 static StringMapEntry *Create(StringRef Key, InitType &&... InitVal) {
246 using MapEntryTy = StringMapEntry<ValueTy>;
260 StringMap(std::initializer_list<std::pair<StringRef, ValueTy>> List)
330 using mapped_type = ValueTy;
331 using value_type = StringMapEntry<ValueTy>;
334 using const_iterator = StringMapConstIterator<ValueTy>;
335 using iterator = StringMapIterator<ValueTy>;
350 iterator_range<StringMapKeyIterator<ValueTy>> keys() const {
369 ValueTy lookup(StringRef Key) const {
378 ValueTy &operator[](StringRef Key) { return try_emplace(Key).first->second; }
413 std::pair<iterator, bool> insert(std::pair<StringRef, ValueTy> KV) {
432 std::pair<iterator, bool> try_emplace(StringRef Key, ArgsTy &&... Args) {
441 Bucket = MapEntryTy::Create(Key, Allocator, std::forward<ArgsTy>(Args)...);
531 : public StringMapIterBase<StringMapConstIterator<ValueTy>,
532 const StringMapEntry<ValueTy>> {
533 using base = StringMapIterBase<StringMapConstIterator<ValueTy>,
534 const StringMapEntry<ValueTy>>;
542 const StringMapEntry<ValueTy> &operator*() const {
548 class StringMapIterator : public StringMapIterBase<StringMapIterator<ValueTy>,
549 StringMapEntry<ValueTy>> {
551 StringMapIterBase<StringMapIterator<ValueTy>, StringMapEntry<ValueTy>>;
551 StringMapIterBase<StringMapIterator<ValueTy>, StringMapEntry<ValueTy>>;
559 StringMapEntry<ValueTy> &operator*() const {
563 operator StringMapConstIterator<ValueTy>() const {
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/tools/extra/clang-tidy/abseil/DurationAdditionCheck.cpp 41 llvm::Optional<DurationScale> Scale = getScaleForTimeInverse(
tools/clang/tools/extra/clang-tidy/abseil/DurationComparisonCheck.cpp 33 llvm::Optional<DurationScale> Scale = getScaleForDurationInverse(
tools/clang/tools/extra/clang-tidy/abseil/DurationConversionCastCheck.cpp 47 llvm::Optional<DurationScale> Scale =
tools/clang/tools/extra/clang-tidy/abseil/DurationFactoryScaleCheck.cpp 24 static llvm::Optional<DurationScale>
26 static const std::unordered_map<std::string, DurationScale> ScaleMap(
27 {{"Nanoseconds", DurationScale::Nanoseconds},
28 {"Microseconds", DurationScale::Microseconds},
29 {"Milliseconds", DurationScale::Milliseconds},
30 {"Seconds", DurationScale::Seconds},
31 {"Minutes", DurationScale::Minutes},
32 {"Hours", DurationScale::Hours}});
55 static llvm::Optional<std::tuple<DurationScale, double>>
56 GetNewScaleSingleStep(DurationScale OldScale, double Multiplier) {
58 case DurationScale::Hours:
60 return std::make_tuple(DurationScale::Minutes, Multiplier * 60.0);
63 case DurationScale::Minutes:
65 return std::make_tuple(DurationScale::Hours, Multiplier / 60.0);
67 return std::make_tuple(DurationScale::Seconds, Multiplier * 60.0);
70 case DurationScale::Seconds:
72 return std::make_tuple(DurationScale::Minutes, Multiplier / 60.0);
74 return std::make_tuple(DurationScale::Milliseconds, Multiplier * 1e3);
77 case DurationScale::Milliseconds:
79 return std::make_tuple(DurationScale::Seconds, Multiplier / 1e3);
81 return std::make_tuple(DurationScale::Microseconds, Multiplier * 1e3);
84 case DurationScale::Microseconds:
86 return std::make_tuple(DurationScale::Milliseconds, Multiplier / 1e3);
88 return std::make_tuple(DurationScale::Nanoseconds, Multiplier * 1e-3);
91 case DurationScale::Nanoseconds:
93 return std::make_tuple(DurationScale::Microseconds, Multiplier / 1e3);
102 static llvm::Optional<DurationScale> GetNewScale(DurationScale OldScale,
102 static llvm::Optional<DurationScale> GetNewScale(DurationScale OldScale,
105 llvm::Optional<std::tuple<DurationScale, double>> result =
162 llvm::Optional<DurationScale> MaybeScale =
167 DurationScale Scale = *MaybeScale;
169 llvm::Optional<DurationScale> NewScale;
202 llvm::Optional<DurationScale> NewScale =
tools/clang/tools/extra/clang-tidy/abseil/DurationRewriter.cpp 20 using argument_type = DurationScale;
21 unsigned operator()(DurationScale Scale) const {
40 getDurationInverseForScale(DurationScale Scale) {
50 InverseMap[DurationScale::Hours] =
52 InverseMap[DurationScale::Minutes] =
54 InverseMap[DurationScale::Seconds] =
56 InverseMap[DurationScale::Milliseconds] = std::make_pair(
58 InverseMap[DurationScale::Microseconds] = std::make_pair(
60 InverseMap[DurationScale::Nanoseconds] = std::make_pair(
72 DurationScale Scale, const Expr &Node) {
91 DurationScale Scale, const Expr &Node) {
104 llvm::StringRef getDurationFactoryForScale(DurationScale Scale) {
106 case DurationScale::Hours:
108 case DurationScale::Minutes:
110 case DurationScale::Seconds:
112 case DurationScale::Milliseconds:
114 case DurationScale::Microseconds:
116 case DurationScale::Nanoseconds:
122 llvm::StringRef getTimeFactoryForScale(DurationScale Scale) {
124 case DurationScale::Hours:
126 case DurationScale::Minutes:
128 case DurationScale::Seconds:
130 case DurationScale::Milliseconds:
132 case DurationScale::Microseconds:
134 case DurationScale::Nanoseconds:
141 llvm::StringRef getTimeInverseForScale(DurationScale scale) {
143 case DurationScale::Hours:
145 case DurationScale::Minutes:
147 case DurationScale::Seconds:
149 case DurationScale::Milliseconds:
151 case DurationScale::Microseconds:
153 case DurationScale::Nanoseconds:
231 llvm::Optional<DurationScale> getScaleForDurationInverse(llvm::StringRef Name) {
232 static const llvm::StringMap<DurationScale> ScaleMap(
233 {{"ToDoubleHours", DurationScale::Hours},
234 {"ToInt64Hours", DurationScale::Hours},
235 {"ToDoubleMinutes", DurationScale::Minutes},
236 {"ToInt64Minutes", DurationScale::Minutes},
237 {"ToDoubleSeconds", DurationScale::Seconds},
238 {"ToInt64Seconds", DurationScale::Seconds},
239 {"ToDoubleMilliseconds", DurationScale::Milliseconds},
240 {"ToInt64Milliseconds", DurationScale::Milliseconds},
241 {"ToDoubleMicroseconds", DurationScale::Microseconds},
242 {"ToInt64Microseconds", DurationScale::Microseconds},
243 {"ToDoubleNanoseconds", DurationScale::Nanoseconds},
244 {"ToInt64Nanoseconds", DurationScale::Nanoseconds}});
253 llvm::Optional<DurationScale> getScaleForTimeInverse(llvm::StringRef Name) {
254 static const llvm::StringMap<DurationScale> ScaleMap(
255 {{"ToUnixHours", DurationScale::Hours},
256 {"ToUnixMinutes", DurationScale::Minutes},
257 {"ToUnixSeconds", DurationScale::Seconds},
258 {"ToUnixMillis", DurationScale::Milliseconds},
259 {"ToUnixMicros", DurationScale::Microseconds},
260 {"ToUnixNanos", DurationScale::Nanoseconds}});
270 const ast_matchers::MatchFinder::MatchResult &Result, DurationScale Scale,
288 const ast_matchers::MatchFinder::MatchResult &Result, DurationScale Scale,
tools/clang/tools/extra/clang-tidy/abseil/DurationRewriter.h 32 llvm::StringRef getDurationFactoryForScale(DurationScale Scale);
36 llvm::StringRef getTimeFactoryForScale(DurationScale scale);
67 llvm::Optional<DurationScale> getScaleForDurationInverse(llvm::StringRef Name);
71 llvm::Optional<DurationScale> getScaleForTimeInverse(llvm::StringRef Name);
77 getDurationInverseForScale(DurationScale Scale);
80 llvm::StringRef getTimeInverseForScale(DurationScale scale);
85 const ast_matchers::MatchFinder::MatchResult &Result, DurationScale Scale,
91 const ast_matchers::MatchFinder::MatchResult &Result, DurationScale Scale,
tools/clang/tools/extra/clang-tidy/abseil/DurationSubtractionCheck.cpp 40 llvm::Optional<DurationScale> Scale =
tools/clang/tools/extra/clang-tidy/abseil/TimeComparisonCheck.cpp 34 llvm::Optional<DurationScale> Scale = getScaleForTimeInverse(
tools/clang/tools/extra/clang-tidy/abseil/TimeSubtractionCheck.cpp 98 llvm::Optional<DurationScale> Scale = getScaleForTimeInverse(TimeInverse);
136 llvm::Optional<DurationScale> Scale = getScaleForTimeInverse(InverseName);
usr/include/c++/7.4.0/bits/move.h 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_pair.h 101 is_constructible<_T2, const _U2&>>::value;
101 is_constructible<_T2, const _U2&>>::value;
108 is_convertible<const _U2&, _T2>>::value;
108 is_convertible<const _U2&, _T2>>::value;
115 is_constructible<_T2, _U2&&>>::value;
115 is_constructible<_T2, _U2&&>>::value;
122 is_convertible<_U2&&, _T2>>::value;
122 is_convertible<_U2&&, _T2>>::value;
129 is_convertible<_U2&&, _T2>>;
129 is_convertible<_U2&&, _T2>>;
134 is_constructible<_T2, _U2&&>,
134 is_constructible<_T2, _U2&&>,
143 is_convertible<const _U2&, _T2>>;
143 is_convertible<const _U2&, _T2>>;
148 is_constructible<_T2, const _U2&&>,
148 is_constructible<_T2, const _U2&&>,
209 : private __pair_base<_T1, _T2>
212 typedef _T2 second_type; /// @c second_type is the second bound type
215 _T2 second; /// @c second is a copy of the second object
252 using _PCCP = _PCC<true, _T1, _T2>;
260 constexpr pair(const _T1& __a, const _T2& __b)
269 explicit constexpr pair(const _T1& __a, const _T2& __b)
283 _T1, _T2>;
311 constexpr pair(_U1&& __x, const _T2& __y)
318 explicit constexpr pair(_U1&& __x, const _T2& __y)
325 constexpr pair(const _T1& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
342 : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
380 is_copy_assignable<_T2>>::value,
391 is_move_assignable<_T2>>::value,
usr/include/c++/7.4.0/bits/unordered_map.h 103 typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable;
usr/include/c++/7.4.0/tuple 56 struct __is_empty_non_tuple : is_empty<_Tp> { };
125 constexpr _Head_base(const _Head& __h)
132 constexpr _Head_base(_UHead&& __h)
133 : _M_head_impl(std::forward<_UHead>(__h)) { }
159 static constexpr _Head&
162 static constexpr const _Head&
165 _Head _M_head_impl;
187 private _Head_base<_Idx, _Head>
192 typedef _Head_base<_Idx, _Head> _Base;
194 static constexpr _Head&
197 static constexpr const _Head&
210 constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
216 constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
218 _Base(std::forward<_UHead>(__head)) { }
227 _Base(std::forward<_Head>(_M_head(__in))) { }
230 constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
235 constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
248 const _Head& __head, const _Tail&... __tail)
473 return __and_<is_constructible<_Elements, const _UElements&>...>::value;
473 return __and_<is_constructible<_Elements, const _UElements&>...>::value;
479 return __and_<is_convertible<const _UElements&, _Elements>...>::value;
479 return __and_<is_convertible<const _UElements&, _Elements>...>::value;
485 return __and_<is_constructible<_Elements, _UElements&&>...>::value;
485 return __and_<is_constructible<_Elements, _UElements&&>...>::value;
491 return __and_<is_convertible<_UElements&&, _Elements>...>::value;
491 return __and_<is_convertible<_UElements&&, _Elements>...>::value;
907 class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
909 typedef _Tuple_impl<0, _T1, _T2> _Inherited;
939 _TC<is_same<_Dummy, void>::value, _T1, _T2>;
947 constexpr tuple(const _T1& __a1, const _T2& __a2)
956 explicit constexpr tuple(const _T1& __a1, const _T2& __a2)
961 using _TMC = _TC<true, _T1, _T2>;
971 constexpr tuple(_U1&& __a1, _U2&& __a2)
972 : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
995 constexpr tuple(const tuple<_U1, _U2>& __in)
1013 constexpr tuple(tuple<_U1, _U2>&& __in)
1078 const _T1& __a1, const _T2& __a2)
1090 const _T1& __a1, const _T2& __a2)
1225 operator=(const tuple<_U1, _U2>& __in)
1233 operator=(tuple<_U1, _U2>&& __in)
1288 typedef _Head type;
1302 constexpr _Head&
1303 __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
1304 { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
1307 constexpr const _Head&
1308 __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
1313 constexpr __tuple_element_t<__i, tuple<_Elements...>>&
1313 constexpr __tuple_element_t<__i, tuple<_Elements...>>&
1314 get(tuple<_Elements...>& __t) noexcept
1319 constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
1319 constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
1320 get(const tuple<_Elements...>& __t) noexcept
1325 constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
1325 constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
1326 get(tuple<_Elements...>&& __t) noexcept
1447 constexpr tuple<typename __decay_and_strip<_Elements>::__type...>
1448 make_tuple(_Elements&&... __args)
1450 typedef tuple<typename __decay_and_strip<_Elements>::__type...>
1452 return __result_type(std::forward<_Elements>(__args)...);
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
762 typename add_rvalue_reference<_Tp>::type declval() noexcept;
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
889 typedef decltype(__test<_Tp>(0)) type;
894 : public __and_<__not_<is_void<_Tp>>,
895 __is_default_constructible_impl<_Tp>>
915 : public __is_default_constructible_atom<_Tp>::type
921 : public __is_default_constructible_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>
1215 : public __and_<is_constructible<_Tp, _Args...>,
1216 __is_nt_constructible_impl<_Tp, _Args...>>
1246 : public is_nothrow_constructible<_Tp, _Tp&&>
1246 : public is_nothrow_constructible<_Tp, _Tp&&>
1252 : public __is_nothrow_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>
1304 : public is_assignable<_Tp&, _Tp&&>
1304 : public is_assignable<_Tp&, _Tp&&>
1310 : public __is_move_assignable_impl<_Tp>
1377 static void __helper(const _Tp&);
1380 static true_type __test(const _Tp&,
1381 decltype(__helper<const _Tp&>({}))* = 0);
1390 typedef decltype(__test(declval<_Tp>())) type;
1395 : public __is_implicitly_default_constructible_impl<_Tp>::type
1400 : public __and_<is_default_constructible<_Tp>,
1401 __is_implicitly_default_constructible_safe<_Tp>>
1526 static void __test_aux(_To1);
1538 typedef decltype(__test<_From, _To>(0)) type;
1545 : public __is_convertible_helper<_From, _To>::type
1554 { 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; };
1664 : public __add_rvalue_reference_helper<_Tp>
2104 { typedef typename remove_cv<_Up>::type __type; };
2118 typedef typename remove_reference<_Tp>::type __remove_type;
2131 typedef _Tp __type;
2144 typename decay<_Tp>::type>::__type __type;
usr/include/c++/7.4.0/utility 180 { typedef _Tp2 type; };
190 __get(std::pair<_Tp1, _Tp2>& __pair) noexcept
200 __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept
224 constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
225 get(std::pair<_Tp1, _Tp2>& __in) noexcept
229 constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
230 get(std::pair<_Tp1, _Tp2>&& __in) noexcept
234 constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
235 get(const std::pair<_Tp1, _Tp2>& __in) noexcept