|
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)
161 : value(std::forward<Args>(args)...), hasVal(true) {}
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/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 2344 *SubTnullability == NullabilityKind::Unspecified ||
2345 *SuperTnullability == NullabilityKind::Unspecified)
2351 return (*SuperTnullability == NullabilityKind::NonNull &&
2352 *SubTnullability == NullabilityKind::Nullable);
2357 return (*SuperTnullability == NullabilityKind::Nullable &&
2358 *SubTnullability == NullabilityKind::NonNull);
tools/clang/include/clang/AST/Type.h 2367 Optional<NullabilityKind> getNullability(const ASTContext &context) const;
4551 llvm::Optional<NullabilityKind> getImmediateNullability() const;
4555 static Kind getNullabilityAttrKind(NullabilityKind kind) {
4557 case NullabilityKind::NonNull:
4560 case NullabilityKind::Nullable:
4563 case NullabilityKind::Unspecified:
4578 static Optional<NullabilityKind> stripOuterNullability(QualType &T);
tools/clang/include/clang/Basic/Diagnostic.h 1285 using DiagNullabilityKind = std::pair<NullabilityKind, bool>;
tools/clang/include/clang/Basic/Specifiers.h 329 inline bool hasWeakerNullability(NullabilityKind L, NullabilityKind R) {
329 inline bool hasWeakerNullability(NullabilityKind L, NullabilityKind R) {
334 llvm::StringRef getNullabilitySpelling(NullabilityKind kind,
tools/clang/include/clang/Parse/Parser.h 500 IdentifierInfo *getNullabilityKeyword(NullabilityKind nullability) {
tools/clang/include/clang/Sema/DeclSpec.h 861 NullabilityKind getNullability() const {
875 void setNullability(SourceLocation loc, NullabilityKind kind) {
tools/clang/include/clang/Sema/Sema.h11488 IdentifierInfo *getNullabilityKeyword(NullabilityKind nullability);
tools/clang/lib/AST/DeclPrinter.cpp 1535 if (*nullability == NullabilityKind::Unspecified &&
tools/clang/lib/AST/Type.cpp 3820 Optional<NullabilityKind>
3950 llvm::Optional<NullabilityKind>
3953 return NullabilityKind::NonNull;
3955 return NullabilityKind::Nullable;
3957 return NullabilityKind::Unspecified;
3961 Optional<NullabilityKind> AttributedType::stripOuterNullability(QualType &T) {
tools/clang/lib/Basic/Diagnostic.cpp 47 case NullabilityKind::NonNull:
51 case NullabilityKind::Nullable:
55 case NullabilityKind::Unspecified:
tools/clang/lib/Basic/IdentifierTable.cpp 699 StringRef clang::getNullabilitySpelling(NullabilityKind kind,
702 case NullabilityKind::NonNull:
705 case NullabilityKind::Nullable:
708 case NullabilityKind::Unspecified:
tools/clang/lib/CodeGen/CGCall.cpp 3371 *Nullability == NullabilityKind::NonNull &&
tools/clang/lib/CodeGen/CGDecl.cpp 725 if (!Nullability || *Nullability != NullabilityKind::NonNull)
2511 if (Nullability && *Nullability == NullabilityKind::NonNull) {
tools/clang/lib/CodeGen/CodeGenFunction.cpp 807 if (Nullability && *Nullability == NullabilityKind::NonNull) {
tools/clang/lib/Parse/ParseObjc.cpp 373 NullabilityKind nullability,
801 NullabilityKind nullability,
927 NullabilityKind::NonNull,
930 DS.setNullability(Tok.getLocation(), NullabilityKind::NonNull);
934 NullabilityKind::Nullable,
937 DS.setNullability(Tok.getLocation(), NullabilityKind::Nullable);
941 NullabilityKind::Unspecified,
944 DS.setNullability(Tok.getLocation(), NullabilityKind::Unspecified);
948 NullabilityKind::Unspecified,
951 DS.setNullability(Tok.getLocation(), NullabilityKind::Unspecified);
1161 NullabilityKind Nullability;
1173 Nullability = NullabilityKind::NonNull;
1178 Nullability = NullabilityKind::Nullable;
1183 Nullability = NullabilityKind::Unspecified;
tools/clang/lib/Sema/Sema.cpp 464 Optional<NullabilityKind> ExprNullability = SrcType->getNullability(Context);
465 if (!ExprNullability || *ExprNullability != NullabilityKind::Nullable)
468 Optional<NullabilityKind> TypeNullability = DstType->getNullability(Context);
469 if (!TypeNullability || *TypeNullability != NullabilityKind::NonNull)
tools/clang/lib/Sema/SemaChecking.cpp 4114 if (*nullability == NullabilityKind::NonNull)
4199 return *nullability == NullabilityKind::NonNull;
tools/clang/lib/Sema/SemaCodeComplete.cpp 2668 case NullabilityKind::NonNull:
2672 case NullabilityKind::Nullable:
2676 case NullabilityKind::Unspecified:
tools/clang/lib/Sema/SemaDeclObjC.cpp 2335 auto nullabilityMethodImpl =
2337 auto nullabilityMethodDecl =
tools/clang/lib/Sema/SemaExpr.cpp 7745 Optional<NullabilityKind> Kind = Ty->getNullability(Ctx);
7748 return NullabilityKind::Unspecified;
7751 auto LHSKind = GetNullability(LHSTy), RHSKind = GetNullability(RHSTy);
7752 NullabilityKind MergedKind;
7756 if (LHSKind == NullabilityKind::NonNull)
7757 MergedKind = NullabilityKind::NonNull;
7762 if (LHSKind == NullabilityKind::Nullable ||
7763 RHSKind == NullabilityKind::Nullable)
7764 MergedKind = NullabilityKind::Nullable;
7765 else if (LHSKind == NullabilityKind::NonNull)
7767 else if (RHSKind == NullabilityKind::NonNull)
7770 MergedKind = NullabilityKind::Unspecified;
tools/clang/lib/Sema/SemaExprObjC.cpp 543 NullabilityKind::NonNull),
591 Optional<NullabilityKind> Nullability =
1453 auto newNullability
tools/clang/lib/Sema/SemaObjCProperty.cpp 2393 if (*nullability == NullabilityKind::Unspecified)
2467 if (*nullability == NullabilityKind::Unspecified)
2655 if (*nullability == NullabilityKind::NonNull)
tools/clang/lib/Sema/SemaType.cpp 3534 IdentifierInfo *Sema::getNullabilityKeyword(NullabilityKind nullability) {
3536 case NullabilityKind::NonNull:
3541 case NullabilityKind::Nullable:
3546 case NullabilityKind::Unspecified:
3802 NullabilityKind Nullability) {
3858 addFixIt(NullabilityKind::Nullable);
3859 addFixIt(NullabilityKind::NonNull);
3975 NullabilityKind NK) {
3977 case NullabilityKind::NonNull:
3980 case NullabilityKind::Nullable:
3983 case NullabilityKind::Unspecified:
4097 Optional<NullabilityKind> inferNullability;
4177 inferNullability = NullabilityKind::Nullable;
4199 inferNullability = NullabilityKind::NonNull;
4211 inferNullability = NullabilityKind::Nullable;
4228 inferNullability = NullabilityKind::Nullable;
4317 fixItNullability(S, Diag, pointerLoc, NullabilityKind::NonNull);
6518 static NullabilityKind mapNullabilityAttrKind(ParsedAttr::Kind kind) {
6521 return NullabilityKind::NonNull;
6524 return NullabilityKind::Nullable;
6527 return NullabilityKind::Unspecified;
6553 NullabilityKind nullability = mapNullabilityAttrKind(attr.getKind());
tools/clang/tools/libclang/CXType.cpp 1311 case NullabilityKind::NonNull:
1313 case NullabilityKind::Nullable:
1315 case NullabilityKind::Unspecified:
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
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_pair.h 100 return __and_<is_constructible<_T1, const _U1&>,
100 return __and_<is_constructible<_T1, const _U1&>,
107 return __and_<is_convertible<const _U1&, _T1>,
107 return __and_<is_convertible<const _U1&, _T1>,
114 return __and_<is_constructible<_T1, _U1&&>,
114 return __and_<is_constructible<_T1, _U1&&>,
121 return __and_<is_convertible<_U1&&, _T1>,
121 return __and_<is_convertible<_U1&&, _T1>,
128 using __do_converts = __and_<is_convertible<const _U1&, _T1>,
128 using __do_converts = __and_<is_convertible<const _U1&, _T1>,
133 return __and_<is_constructible<_T1, const _U1&>,
133 return __and_<is_constructible<_T1, const _U1&>,
142 using __do_converts = __and_<is_convertible<_U1&&, _T1>,
142 using __do_converts = __and_<is_convertible<_U1&&, _T1>,
147 return __and_<is_constructible<_T1, _U1&&>,
147 return __and_<is_constructible<_T1, _U1&&>,
209 : private __pair_base<_T1, _T2>
211 typedef _T1 first_type; /// @c first_type is the first bound type
214 _T1 first; /// @c first is a copy of the first 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)
325 constexpr pair(const _T1& __x, _U2&& __y)
332 explicit pair(const _T1& __x, _U2&& __y)
341 constexpr pair(_U1&& __x, _U2&& __y)
342 : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
379 __and_<is_copy_assignable<_T1>,
390 __and_<is_move_assignable<_T1>,
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>
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>
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; };