reference, declarationdefinition
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.h
11488   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; };