reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Declarations

tools/clang/include/clang/Sema/Sema.h
  125   class ImplicitConversionSequence;

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 {
  290   class LLVM_NODISCARD MutableArrayRef : public ArrayRef<T> {
  292     using iterator = T *;
  302     /*implicit*/ MutableArrayRef(T &OneElt) : ArrayRef<T>(OneElt) {}
  305     /*implicit*/ MutableArrayRef(T *data, size_t length)
  309     MutableArrayRef(T *begin, T *end) : ArrayRef<T>(begin, end) {}
  309     MutableArrayRef(T *begin, T *end) : ArrayRef<T>(begin, end) {}
  312     /*implicit*/ MutableArrayRef(SmallVectorImpl<T> &Vec)
  316     /*implicit*/ MutableArrayRef(std::vector<T> &Vec)
  321     /*implicit*/ constexpr MutableArrayRef(std::array<T, N> &Arr)
  326     /*implicit*/ constexpr MutableArrayRef(T (&Arr)[N]) : ArrayRef<T>(Arr) {}
  328     T *data() const { return const_cast<T*>(ArrayRef<T>::data()); }
  337     T &front() const {
  343     T &back() const {
  350     MutableArrayRef<T> slice(size_t N, size_t M) const {
  356     MutableArrayRef<T> slice(size_t N) const {
  361     MutableArrayRef<T> drop_front(size_t N = 1) const {
  366     MutableArrayRef<T> drop_back(size_t N = 1) const {
  374     MutableArrayRef<T> drop_while(PredicateT Pred) const {
  381     MutableArrayRef<T> drop_until(PredicateT Pred) const {
  386     MutableArrayRef<T> take_front(size_t N = 1) const {
  393     MutableArrayRef<T> take_back(size_t N = 1) const {
  402     MutableArrayRef<T> take_while(PredicateT Pred) const {
  409     MutableArrayRef<T> take_until(PredicateT Pred) const {
  416     T &operator[](size_t Index) const {
include/llvm/Support/Allocator.h
   81   template <typename T> T *Allocate(size_t Num = 1) {
   82     return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
   82     return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
tools/clang/include/clang/Sema/Initialization.h
  928       ImplicitConversionSequence *ICS;
 1271   void AddConversionSequenceStep(const ImplicitConversionSequence &ICS,
tools/clang/include/clang/Sema/Overload.h
  572     ImplicitConversionSequence(const ImplicitConversionSequence &Other)
  585     ImplicitConversionSequence &
  586     operator=(const ImplicitConversionSequence &Other) {
  588       new (this) ImplicitConversionSequence(Other);
  763       llvm::MutableArrayRef<ImplicitConversionSequence>;
  847       for (auto &C : Conversions) {
  969         24 * sizeof(ImplicitConversionSequence);
  983     T *slabAllocate(unsigned N) {
  985       static_assert(alignof(T) == alignof(void *),
  987       static_assert(std::is_trivial<T>::value ||
  988                         std::is_same<ImplicitConversionSequence, T>::value,
  988                         std::is_same<ImplicitConversionSequence, T>::value,
  991       unsigned NBytes = sizeof(T) * N;
  993         return SlabAllocator.Allocate<T>(N);
 1040       ImplicitConversionSequence *Conversions =
 1041           slabAllocate<ImplicitConversionSequence>(NumConversions);
 1045         new (&Conversions[I]) ImplicitConversionSequence();
tools/clang/include/clang/Sema/Sema.h
  126   typedef MutableArrayRef<ImplicitConversionSequence> ConversionSequenceList;
 2879   ImplicitConversionSequence
10363                                        ImplicitConversionSequence& ICS);
10365                                        const ImplicitConversionSequence& ICS,
tools/clang/lib/Sema/SemaExpr.cpp
 8577         ImplicitConversionSequence ICS =
tools/clang/lib/Sema/SemaExprCXX.cpp
 3800   case ImplicitConversionSequence::StandardConversion: {
 3809   case ImplicitConversionSequence::UserDefinedConversion: {
 3864   case ImplicitConversionSequence::AmbiguousConversion:
 3870   case ImplicitConversionSequence::EllipsisConversion:
 3873   case ImplicitConversionSequence::BadConversion:
tools/clang/lib/Sema/SemaInit.cpp
 3605     const ImplicitConversionSequence &ICS, QualType T,
 3611   S.ICS = new ImplicitConversionSequence(ICS);
 4398       ImplicitConversionSequence ICS;
 4621     ImplicitConversionSequence ICS;
 4934   ImplicitConversionSequence ICS
 5292     ImplicitConversionSequence ICS;
 5449     ImplicitConversionSequence ICS;
 5875   ImplicitConversionSequence ICS
 5896       ImplicitConversionSequence LvalueICS;
 7574                                         const ImplicitConversionSequence &ICS,
 9490                                         const ImplicitConversionSequence &ICS,
 9496   case ImplicitConversionSequence::StandardConversion:
 9499   case ImplicitConversionSequence::UserDefinedConversion:
 9502   case ImplicitConversionSequence::AmbiguousConversion:
 9503   case ImplicitConversionSequence::EllipsisConversion:
 9504   case ImplicitConversionSequence::BadConversion:
tools/clang/lib/Sema/SemaOpenMP.cpp
 5045     ImplicitConversionSequence ICS =
tools/clang/lib/Sema/SemaOverload.cpp
   94 static ImplicitConversionSequence::CompareKind
   99 static ImplicitConversionSequence::CompareKind
  104 static ImplicitConversionSequence::CompareKind
  872     for (auto &C : i->Conversions)
 1266 static ImplicitConversionSequence
 1274   ImplicitConversionSequence ICS;
 1369 static ImplicitConversionSequence
 1377   ImplicitConversionSequence ICS;
 1424 ImplicitConversionSequence
 1446   ImplicitConversionSequence ICS;
 1453                                 ImplicitConversionSequence& ICS) {
 3539   ImplicitConversionSequence ICS;
 3573 static ImplicitConversionSequence::CompareKind
 3577     return ImplicitConversionSequence::Indistinguishable;
 3587     return ImplicitConversionSequence::Indistinguishable;
 3591     return ImplicitConversionSequence::Indistinguishable;
 3597       return Block1 ? ImplicitConversionSequence::Worse
 3598                     : ImplicitConversionSequence::Better;
 3601   return ImplicitConversionSequence::Indistinguishable;
 3605     const ImplicitConversionSequence &ICS) {
 3614 static ImplicitConversionSequence::CompareKind
 3616                                    const ImplicitConversionSequence& ICS1,
 3617                                    const ImplicitConversionSequence& ICS2)
 3656                ? ImplicitConversionSequence::Worse
 3657                : ImplicitConversionSequence::Better;
 3660     return ImplicitConversionSequence::Better;
 3662     return ImplicitConversionSequence::Worse;
 3667     return ImplicitConversionSequence::Indistinguishable;
 3669   ImplicitConversionSequence::CompareKind Result =
 3670       ImplicitConversionSequence::Indistinguishable;
 3686       return ImplicitConversionSequence::Better;
 3689       return ImplicitConversionSequence::Worse;
 3720 static ImplicitConversionSequence::CompareKind
 3724   ImplicitConversionSequence::CompareKind Result
 3725     = ImplicitConversionSequence::Indistinguishable;
 3730     return ImplicitConversionSequence::Better;
 3732     return ImplicitConversionSequence::Worse;
 3736       Result = ImplicitConversionSequence::Better;
 3738       Result = ImplicitConversionSequence::Worse;
 3740       return ImplicitConversionSequence::Indistinguishable;
 3742     return ImplicitConversionSequence::Indistinguishable;
 3746                              : ImplicitConversionSequence::Indistinguishable;
 3750     return Result == ImplicitConversionSequence::Worse
 3751              ? ImplicitConversionSequence::Indistinguishable
 3752              : ImplicitConversionSequence::Better;
 3755     return Result == ImplicitConversionSequence::Better
 3756              ? ImplicitConversionSequence::Indistinguishable
 3757              : ImplicitConversionSequence::Worse;
 3759   return ImplicitConversionSequence::Indistinguishable;
 3821 static ImplicitConversionSequence::CompareKind
 3834   if (ImplicitConversionSequence::CompareKind CK
 3843     return ImplicitConversionSequence::Better;
 3845     return ImplicitConversionSequence::Worse;
 3856              ? ImplicitConversionSequence::Better
 3857              : ImplicitConversionSequence::Worse;
 3870                ? ImplicitConversionSequence::Better
 3871                : ImplicitConversionSequence::Worse;
 3886     return SCS2ConvertsToVoid ? ImplicitConversionSequence::Better
 3887                               : ImplicitConversionSequence::Worse;
 3891     if (ImplicitConversionSequence::CompareKind DerivedCK
 3913       return ImplicitConversionSequence::Better;
 3915       return ImplicitConversionSequence::Worse;
 3929         return AssignLeft? ImplicitConversionSequence::Better
 3930                          : ImplicitConversionSequence::Worse;
 3937   if (ImplicitConversionSequence::CompareKind QualCK
 3944       return ImplicitConversionSequence::Better;
 3946       return ImplicitConversionSequence::Worse;
 3967                                            ? ImplicitConversionSequence::Worse
 3968                                            : ImplicitConversionSequence::Better;
 3978         return ImplicitConversionSequence::Better;
 3980         return ImplicitConversionSequence::Worse;
 4000     return ImplicitConversionSequence::Better;
 4023                  ? ImplicitConversionSequence::Better
 4024                  : ImplicitConversionSequence::Worse;
 4027   return ImplicitConversionSequence::Indistinguishable;
 4033 static ImplicitConversionSequence::CompareKind
 4045     return ImplicitConversionSequence::Indistinguishable;
 4060     return ImplicitConversionSequence::Indistinguishable;
 4069   ImplicitConversionSequence::CompareKind Result
 4070     = ImplicitConversionSequence::Indistinguishable;
 4078                ? ImplicitConversionSequence::Worse
 4079                : ImplicitConversionSequence::Better;
 4100       if (Result == ImplicitConversionSequence::Worse)
 4103         return ImplicitConversionSequence::Indistinguishable;
 4105       Result = ImplicitConversionSequence::Better;
 4108       if (Result == ImplicitConversionSequence::Better)
 4111         return ImplicitConversionSequence::Indistinguishable;
 4113       Result = ImplicitConversionSequence::Worse;
 4116       return ImplicitConversionSequence::Indistinguishable;
 4127   case ImplicitConversionSequence::Better:
 4129       Result = ImplicitConversionSequence::Indistinguishable;
 4132   case ImplicitConversionSequence::Indistinguishable:
 4135   case ImplicitConversionSequence::Worse:
 4137       Result = ImplicitConversionSequence::Indistinguishable;
 4149 static ImplicitConversionSequence::CompareKind
 4194         return ImplicitConversionSequence::Better;
 4196         return ImplicitConversionSequence::Worse;
 4202         return ImplicitConversionSequence::Better;
 4204         return ImplicitConversionSequence::Worse;
 4235         return ImplicitConversionSequence::Worse;
 4238         return ImplicitConversionSequence::Better;
 4243         return ImplicitConversionSequence::Worse;
 4245         return ImplicitConversionSequence::Better;
 4251         return ImplicitConversionSequence::Worse;
 4254         return ImplicitConversionSequence::Better;
 4259         return ImplicitConversionSequence::Worse;
 4261         return ImplicitConversionSequence::Better;
 4276               return ImplicitConversionSequence::Better;
 4278             return ImplicitConversionSequence::Worse;
 4280         return ToAssignLeft? ImplicitConversionSequence::Worse
 4281                            : ImplicitConversionSequence::Better;
 4287         return FromAssignLeft? ImplicitConversionSequence::Better
 4288         : ImplicitConversionSequence::Worse;
 4315         return ImplicitConversionSequence::Worse;
 4317         return ImplicitConversionSequence::Better;
 4322         return ImplicitConversionSequence::Better;
 4324         return ImplicitConversionSequence::Worse;
 4336         return ImplicitConversionSequence::Better;
 4338         return ImplicitConversionSequence::Worse;
 4348         return ImplicitConversionSequence::Better;
 4350         return ImplicitConversionSequence::Worse;
 4354   return ImplicitConversionSequence::Indistinguishable;
 4465 FindConversionForRefInit(Sema &S, ImplicitConversionSequence &ICS,
 4593 static ImplicitConversionSequence
 4601   ImplicitConversionSequence ICS;
 4861 static ImplicitConversionSequence
 4870 static ImplicitConversionSequence
 4879   ImplicitConversionSequence Result;
 4947       ImplicitConversionSequence ICS =
 4959                                 ImplicitConversionSequence::Worse)
 5126 static ImplicitConversionSequence
 5156   ImplicitConversionSequence ICS =
 5165 static ImplicitConversionSequence
 5183   ImplicitConversionSequence ICS;
 5321   ImplicitConversionSequence ICS = TryObjectArgumentInitialization(
 5384 static ImplicitConversionSequence
 5401   ImplicitConversionSequence ICS = TryContextuallyConvertToBool(*this, From);
 5499   ImplicitConversionSequence ICS =
 5509   case ImplicitConversionSequence::StandardConversion:
 5512   case ImplicitConversionSequence::UserDefinedConversion:
 5517   case ImplicitConversionSequence::AmbiguousConversion:
 5518   case ImplicitConversionSequence::BadConversion:
 5525   case ImplicitConversionSequence::EllipsisConversion:
 5652 static ImplicitConversionSequence
 5656   ImplicitConversionSequence ICS
 5668   case ImplicitConversionSequence::BadConversion:
 5669   case ImplicitConversionSequence::AmbiguousConversion:
 5670   case ImplicitConversionSequence::EllipsisConversion:
 5673   case ImplicitConversionSequence::UserDefinedConversion:
 5677   case ImplicitConversionSequence::StandardConversion:
 5693   ImplicitConversionSequence ICS =
 6338       ImplicitConversionSequence ConversionState
 7161   ImplicitConversionSequence ICS =
 7168   case ImplicitConversionSequence::StandardConversion:
 7195   case ImplicitConversionSequence::BadConversion:
 7298   ImplicitConversionSequence ObjectInit = TryObjectArgumentInitialization(
 9340     case ImplicitConversionSequence::Better:
 9345     case ImplicitConversionSequence::Worse:
 9367     case ImplicitConversionSequence::Indistinguishable:
 9394     ImplicitConversionSequence::CompareKind Result =
 9396     if (Result == ImplicitConversionSequence::Indistinguishable)
 9401     if (Result != ImplicitConversionSequence::Indistinguishable)
 9402       return Result == ImplicitConversionSequence::Better;
 9917   const ImplicitConversionSequence &Conv = Cand->Conversions[I];
10770   for (const ImplicitConversionSequence &ICS : Cand->Conversions) {
10908           case ImplicitConversionSequence::Better:
10912           case ImplicitConversionSequence::Worse:
10916           case ImplicitConversionSequence::Indistinguishable:
12893                     ImplicitConversionSequence::Better) {
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/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;