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

Declarations

tools/clang/include/clang/AST/ExternalASTSource.h
   51 class Selector;
tools/clang/include/clang/AST/SelectorLocationsKind.h
   20   class Selector;
tools/clang/lib/CodeGen/CGObjCRuntime.h
   50   class Selector;

References

include/llvm/ADT/DenseMap.h
   40 struct DenseMapPair : public std::pair<KeyT, ValueT> {
   43   KeyT &getFirst() { return std::pair<KeyT, ValueT>::first; }
   44   const KeyT &getFirst() const { return std::pair<KeyT, ValueT>::first; }
   65   using key_type = KeyT;
   69   using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>;
   71       DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>;
   78     if (shouldReverseIterate<KeyT>())
  145   size_type count(const_arg_type_t<KeyT> Val) const {
  150   iterator find(const_arg_type_t<KeyT> Val) {
  156   const_iterator find(const_arg_type_t<KeyT> Val) const {
  185   ValueT lookup(const_arg_type_t<KeyT> Val) const {
  195   std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
  202   std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
  210   std::pair<iterator, bool> try_emplace(KeyT &&Key, Ts &&... Args) {
  229   std::pair<iterator, bool> try_emplace(const KeyT &Key, Ts &&... Args) {
  249   std::pair<iterator, bool> insert_as(std::pair<KeyT, ValueT> &&KV,
  272   bool erase(const KeyT &Val) {
  291   value_type& FindAndConstruct(const KeyT &Key) {
  299   ValueT &operator[](const KeyT &Key) {
  303   value_type& FindAndConstruct(KeyT &&Key) {
  311   ValueT &operator[](KeyT &&Key) {
  334     const KeyT EmptyKey = getEmptyKey(), TombstoneKey = getTombstoneKey();
  349     const KeyT EmptyKey = getEmptyKey();
  351       ::new (&B->getFirst()) KeyT(EmptyKey);
  369     const KeyT EmptyKey = getEmptyKey();
  370     const KeyT TombstoneKey = getTombstoneKey();
  392       const DenseMapBase<OtherBaseT, KeyT, ValueT, KeyInfoT, BucketT> &other) {
  414   static unsigned getHashValue(const KeyT &Val) {
  419   static unsigned getHashValue(const LookupKeyT &Val) {
  423   static const KeyT getEmptyKey() {
  429   static const KeyT getTombstoneKey() {
  437     if (shouldReverseIterate<KeyT>()) {
  515   BucketT *InsertIntoBucket(BucketT *TheBucket, KeyArg &&Key,
  519     TheBucket->getFirst() = std::forward<KeyArg>(Key);
  525   BucketT *InsertIntoBucketWithLookup(BucketT *TheBucket, KeyT &&Key,
  535   BucketT *InsertIntoBucketImpl(const KeyT &Key, const LookupKeyT &Lookup,
  535   BucketT *InsertIntoBucketImpl(const KeyT &Key, const LookupKeyT &Lookup,
  566     const KeyT EmptyKey = getEmptyKey();
  578   bool LookupBucketFor(const LookupKeyT &Val,
  590     const KeyT EmptyKey = getEmptyKey();
  591     const KeyT TombstoneKey = getTombstoneKey();
  629   bool LookupBucketFor(const LookupKeyT &Val, BucketT *&FoundBucket) {
  684 class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
  685                                      KeyT, ValueT, KeyInfoT, BucketT> {
  690   using BaseT = DenseMapBase<DenseMap, KeyT, ValueT, KeyInfoT, BucketT>;
  852           SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT,
  852           SmallDenseMap<KeyT, ValueT, InlineBuckets, KeyInfoT, BucketT>, KeyT,
 1023       const KeyT EmptyKey = this->getEmptyKey();
 1024       const KeyT TombstoneKey = this->getTombstoneKey();
 1030           ::new (&TmpEnd->getFirst()) KeyT(std::move(P->getFirst()));
 1163   using ConstIterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, true>;
 1186     if (shouldReverseIterate<KeyT>()) {
 1199       const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I)
 1204     if (shouldReverseIterate<KeyT>())
 1210     if (shouldReverseIterate<KeyT>())
 1232     if (shouldReverseIterate<KeyT>()) {
 1249     const KeyT Empty = KeyInfoT::getEmptyKey();
 1250     const KeyT Tombstone = KeyInfoT::getTombstoneKey();
 1259     const KeyT Empty = KeyInfoT::getEmptyKey();
 1260     const KeyT Tombstone = KeyInfoT::getTombstoneKey();
include/llvm/ADT/DenseMapInfo.h
  186   using Pair = std::pair<T, U>;
  188   using SecondInfo = DenseMapInfo<U>;
include/llvm/ADT/DenseSet.h
   35   KeyT key;
   38   KeyT &getFirst() { return key; }
   39   const KeyT &getFirst() const { return key; }
   55   static_assert(sizeof(typename MapTy::value_type) == sizeof(ValueT),
   63   using key_type = ValueT;
   64   using value_type = ValueT;
   69   DenseSetImpl(std::initializer_list<ValueT> Elems)
   91   size_type count(const_arg_type_t<ValueT> V) const {
   95   bool erase(const ValueT &V) {
  112     using value_type = ValueT;
  120     ValueT &operator*() { return I->getFirst(); }
  121     const ValueT &operator*() const { return I->getFirst(); }
  122     ValueT *operator->() { return &I->getFirst(); }
  123     const ValueT *operator->() const { return &I->getFirst(); }
  165   iterator find(const_arg_type_t<ValueT> V) { return Iterator(TheMap.find(V)); }
  166   const_iterator find(const_arg_type_t<ValueT> V) const {
  187   std::pair<iterator, bool> insert(const ValueT &V) {
  192   std::pair<iterator, bool> insert(ValueT &&V) {
  200   std::pair<iterator, bool> insert_as(const ValueT &V,
  205   std::pair<iterator, bool> insert_as(ValueT &&V, const LookupKeyT &LookupKey) {
  250                      ValueT, DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT,
  250                      ValueT, DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT,
  251                                       detail::DenseSetPair<ValueT>>,
  254       detail::DenseSetImpl<ValueT,
  255                            DenseMap<ValueT, detail::DenseSetEmpty, ValueInfoT,
  256                                     detail::DenseSetPair<ValueT>>,
include/llvm/ADT/MapVector.h
   83   std::pair<KeyT, ValueT>       &front()       { return Vector.front(); }
   84   const std::pair<KeyT, ValueT> &front() const { return Vector.front(); }
   85   std::pair<KeyT, ValueT>       &back()        { return Vector.back(); }
   86   const std::pair<KeyT, ValueT> &back()  const { return Vector.back(); }
   98   ValueT &operator[](const KeyT &Key) {
   99     std::pair<KeyT, typename MapType::mapped_type> Pair = std::make_pair(Key, 0);
  110   ValueT lookup(const KeyT &Key) const {
  117   std::pair<iterator, bool> insert(const std::pair<KeyT, ValueT> &KV) {
  129   std::pair<iterator, bool> insert(std::pair<KeyT, ValueT> &&KV) {
  131     std::pair<KeyT, typename MapType::mapped_type> Pair = std::make_pair(KV.first, 0);
  142   size_type count(const KeyT &Key) const {
  147   iterator find(const KeyT &Key) {
  153   const_iterator find(const KeyT &Key) const {
  192   size_type erase(const KeyT &Key) {
include/llvm/ADT/SmallPtrSet.h
  268   using PtrTraits = PointerLikeTypeTraits<PtrTy>;
  271   using value_type = PtrTy;
  272   using reference = PtrTy;
  273   using pointer = PtrTy;
  283   const PtrTy operator*() const {
  344   using ConstPtrType = typename add_const_past_pointer<PtrType>::type;
  345   using PtrTraits = PointerLikeTypeTraits<PtrType>;
  359   using iterator = SmallPtrSetIterator<PtrType>;
  360   using const_iterator = SmallPtrSetIterator<PtrType>;
  362   using value_type = PtrType;
  370   std::pair<iterator, bool> insert(PtrType Ptr) {
  377   bool erase(PtrType Ptr) {
  392   void insert(std::initializer_list<PtrType> IL) {
  417 class SmallPtrSet : public SmallPtrSetImpl<PtrType> {
  423   using BaseT = SmallPtrSetImpl<PtrType>;
  441   SmallPtrSet(std::initializer_list<PtrType> IL)
  446   SmallPtrSet<PtrType, SmallSize> &
  447   operator=(const SmallPtrSet<PtrType, SmallSize> &RHS) {
  453   SmallPtrSet<PtrType, SmallSize> &
  454   operator=(SmallPtrSet<PtrType, SmallSize> &&RHS) {
  460   SmallPtrSet<PtrType, SmallSize> &
  461   operator=(std::initializer_list<PtrType> IL) {
  468   void swap(SmallPtrSet<PtrType, SmallSize> &RHS) {
include/llvm/ADT/SmallSet.h
  138   SmallVector<T, N> Vector;
  139   std::set<T, C> Set;
  141   using VIterator = typename SmallVector<T, N>::const_iterator;
  142   using mutable_iterator = typename SmallVector<T, N>::iterator;
  151   using const_iterator = SmallSetIterator<T, N, C>;
  164   size_type count(const T &V) const {
  180   std::pair<NoneType, bool> insert(const T &V) {
  207   bool erase(const T &V) {
  238   VIterator vfind(const T &V) const {
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 *) {}
  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) {
  637   void insert(iterator I, std::initializer_list<T> IL) {
  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/Error.h
  437   static const bool isRef = std::is_reference<T>::value;
  439   using wrap = std::reference_wrapper<typename std::remove_reference<T>::type>;
  444   using storage_type = typename std::conditional<isRef, wrap, T>::type;
  445   using value_type = T;
  448   using reference = typename std::remove_reference<T>::type &;
  449   using const_reference = const typename std::remove_reference<T>::type &;
  450   using pointer = typename std::remove_reference<T>::type *;
  451   using const_pointer = const typename std::remove_reference<T>::type *;
  474   Expected(OtherT &&Val,
  475            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  475            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  483     new (getStorage()) storage_type(std::forward<OtherT>(Val));
  492   Expected(Expected<OtherT> &&Other,
  493            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  493            typename std::enable_if<std::is_convertible<OtherT, T>::value>::type
  594   template <class OtherT> void moveConstruct(Expected<OtherT> &&Other) {
include/llvm/Support/PointerLikeTypeTraits.h
   78   typedef PointerLikeTypeTraits<T> NonConst;
   80   static inline const void *getAsVoidPointer(const T P) {
   83   static inline const T getFromVoidPointer(const void *P) {
include/llvm/Support/type_traits.h
   55 struct add_const_past_pointer { using type = const T; };
   65   using type = const T &;
   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
 3043 inline Selector GetNullarySelector(StringRef name, ASTContext &Ctx) {
 3049 inline Selector GetUnarySelector(StringRef name, ASTContext &Ctx) {
tools/clang/include/clang/AST/ASTImporter.h
  474     llvm::Expected<Selector> Import(Selector FromSel);
  474     llvm::Expected<Selector> Import(Selector FromSel);
tools/clang/include/clang/AST/DeclObjC.h
  172                  Selector SelInfo, QualType T, TypeSourceInfo *ReturnTInfo,
  232          Selector SelInfo, QualType T, TypeSourceInfo *ReturnTInfo,
  309     Selector Sel = getSelector();
  320   Selector getSelector() const { return getDeclName().getObjCSelector(); }
  778   Selector GetterName;
  781   Selector SetterName;
  905   Selector getGetterName() const { return GetterName; }
  908   void setGetterName(Selector Sel, SourceLocation Loc = SourceLocation()) {
  913   Selector getSetterName() const { return SetterName; }
  916   void setSetterName(Selector Sel, SourceLocation Loc = SourceLocation()) {
 1083   ObjCMethodDecl *getMethod(Selector Sel, bool isInstance,
 1086   ObjCMethodDecl *getInstanceMethod(Selector Sel,
 1091   ObjCMethodDecl *getClassMethod(Selector Sel, bool AllowHidden = false) const {
 1354   ObjCMethodDecl *getCategoryInstanceMethod(Selector Sel) const;
 1355   ObjCMethodDecl *getCategoryClassMethod(Selector Sel) const;
 1357   ObjCMethodDecl *getCategoryMethod(Selector Sel, bool isInstance) const {
 1524   isDesignatedInitializer(Selector Sel,
 1840   ObjCMethodDecl *lookupMethod(Selector Sel, bool isInstance,
 1846   ObjCMethodDecl *lookupInstanceMethod(Selector Sel) const {
 1851   ObjCMethodDecl *lookupClassMethod(Selector Sel) const {
 1858   ObjCMethodDecl *lookupPrivateMethod(const Selector &Sel,
 1861   ObjCMethodDecl *lookupPrivateClassMethod(const Selector &Sel) {
 1868   ObjCMethodDecl *lookupPropertyAccessor(const Selector Sel,
 2186   ObjCMethodDecl *lookupMethod(Selector Sel, bool isInstance) const;
 2188   ObjCMethodDecl *lookupInstanceMethod(Selector Sel) const {
 2192   ObjCMethodDecl *lookupClassMethod(Selector Sel) const {
tools/clang/include/clang/AST/DeclarationName.h
  177     StoredObjCZeroArgSelector = Selector::ZeroArg,
  178     StoredObjCOneArgSelector = Selector::OneArg,
  183     StoredDeclarationNameExtra = Selector::MultiArg,
  356   DeclarationName(Selector Sel) : Ptr(Sel.InfoPtr) {}
  481   Selector getObjCSelector() const {
tools/clang/include/clang/AST/ExprObjC.h
  455   Selector SelName;
  459   ObjCSelectorExpr(QualType T, Selector selInfo,
  467   Selector getSelector() const { return SelName; }
  468   void setSelector(Selector S) { SelName = S; }
  722   Selector getGetterSelector() const {
  728   Selector getSetterSelector() const {
 1008                   Selector Sel,
 1018                   Selector Sel,
 1028                   Selector Sel,
 1084                                 Selector Sel,
 1141                                  Selector Sel,
 1175                                  Selector Sel,
 1209                                  Selector Sel,
 1349   Selector getSelector() const;
 1351   void setSelector(Selector S) {
 1441     Selector Sel = getSelector();
tools/clang/include/clang/AST/ExternalASTSource.h
  113   virtual Selector GetExternalSelector(uint32_t ID);
tools/clang/include/clang/AST/NSAPI.h
   56   Selector getNSStringSelector(NSStringMethodKind MK) const;
   89   Selector getNSArraySelector(NSArrayMethodKind MK) const;
   92   Optional<NSArrayMethodKind> getNSArrayMethodKind(Selector Sel);
  114   Selector getNSDictionarySelector(NSDictionaryMethodKind MK) const;
  117   Optional<NSDictionaryMethodKind> getNSDictionaryMethodKind(Selector Sel);
  131   Selector getNSSetSelector(NSSetMethodKind MK) const;
  134   Optional<NSSetMethodKind> getNSSetMethodKind(Selector Sel);
  137   Selector getObjectForKeyedSubscriptSelector() const {
  143   Selector getObjectAtIndexedSubscriptSelector() const {
  149   Selector getSetObjectForKeyedSubscriptSelector() const {
  155   Selector getSetObjectAtIndexedSubscriptSelector() const {
  161   Selector getIsEqualSelector() const {
  165   Selector getNewSelector() const {
  169   Selector getInitSelector() const {
  196   Selector getNSNumberLiteralSelector(NSNumberLiteralMethodKind MK,
  200                                  Selector Sel) const {
  207       getNSNumberLiteralMethodKind(Selector Sel) const;
  235   Selector getOrInitSelector(ArrayRef<StringRef> Ids, Selector &Sel) const;
  235   Selector getOrInitSelector(ArrayRef<StringRef> Ids, Selector &Sel) const;
  236   Selector getOrInitNullarySelector(StringRef Id, Selector &Sel) const;
  236   Selector getOrInitNullarySelector(StringRef Id, Selector &Sel) const;
  242   mutable Selector NSStringSelectors[NumNSStringMethods];
  245   mutable Selector NSArraySelectors[NumNSArrayMethods];
  248   mutable Selector NSDictionarySelectors[NumNSDictionaryMethods];
  251   mutable Selector NSSetSelectors[NumNSSetMethods];
  254   mutable Selector NSNumberClassSelectors[NumNSNumberLiteralMethods];
  255   mutable Selector NSNumberInstanceSelectors[NumNSNumberLiteralMethods];
  257   mutable Selector objectForKeyedSubscriptSel, objectAtIndexedSubscriptSel,
tools/clang/include/clang/AST/SelectorLocationsKind.h
   45 SelectorLocationsKind hasStandardSelectorLocs(Selector Sel,
   57                                       Selector Sel,
   63 SelectorLocationsKind hasStandardSelectorLocs(Selector Sel,
   75                                       Selector Sel,
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
 3132   Selector Sel = Node.getSelector();
tools/clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h
   26   Selector RaiseSel;
   34   Selector NSExceptionInstanceRaiseSelectors[NUM_RAISE_SELECTORS];
tools/clang/include/clang/Analysis/RetainSummaryManager.h
  209   Selector S;
  211   ObjCSummaryKey(IdentifierInfo* ii, Selector s)
  214   ObjCSummaryKey(const ObjCInterfaceDecl *d, Selector s)
  217   ObjCSummaryKey(Selector s)
  221   Selector getSelector() const { return S; }
  250                           DenseMapInfo<Selector>::getEmptyKey());
  255                           DenseMapInfo<Selector>::getTombstoneKey());
  259     typedef std::pair<IdentifierInfo*, Selector> PairTy;
  395   const RetainSummary * find(const ObjCInterfaceDecl *D, Selector S) {
  427   const RetainSummary *find(IdentifierInfo* II, Selector S) {
  442   const RetainSummary *& operator[](Selector S) {
  552   void addNSObjectClsMethSummary(Selector S, const RetainSummary *Summ) {
  556   void addNSObjectMethSummary(Selector S, const RetainSummary *Summ) {
  563     Selector S = isNullary ? GetNullarySelector(name, Ctx)
  571     Selector S = GetNullarySelector(nullaryName, Ctx);
  578     Selector S = getKeywordSelector(Ctx, Kws...);
  675   const RetainSummary *getMethodSummary(Selector S, const ObjCInterfaceDecl *ID,
  686                                                 Selector S, QualType RetTy);
tools/clang/include/clang/Analysis/SelectorExtras.h
   17 static inline Selector getKeywordSelector(ASTContext &Ctx,
   27 static inline void lazyInitKeywordSelector(Selector &Sel, ASTContext &Ctx,
tools/clang/include/clang/Basic/IdentifierTable.h
  719   static ObjCMethodFamily getMethodFamilyImpl(Selector sel);
  721   static ObjCStringFormatFamily getStringFormatFamilyImpl(Selector sel);
  730   bool operator==(Selector RHS) const {
  733   bool operator!=(Selector RHS) const {
  804   static Selector getEmptyMarker() {
  808   static Selector getTombstoneMarker() {
  812   static ObjCInstanceTypeFamily getInstTypeMethodFamily(Selector sel);
  831   Selector getSelector(unsigned NumArgs, IdentifierInfo **IIV);
  833   Selector getUnarySelector(IdentifierInfo *ID) {
  837   Selector getNullarySelector(IdentifierInfo *ID) {
  854   static Selector constructSetterSelector(IdentifierTable &Idents,
  859   static std::string getPropertyNameFromSetterSelector(Selector Sel);
  932   static clang::Selector getEmptyKey() {
  933     return clang::Selector::getEmptyMarker();
  936   static clang::Selector getTombstoneKey() {
  937     return clang::Selector::getTombstoneMarker();
  940   static unsigned getHashValue(clang::Selector S);
  942   static bool isEqual(clang::Selector LHS, clang::Selector RHS) {
  942   static bool isEqual(clang::Selector LHS, clang::Selector RHS) {
  949   static const void *getAsVoidPointer(clang::Selector P) {
  953   static clang::Selector getFromVoidPointer(const void *P) {
tools/clang/include/clang/Frontend/MultiplexConsumer.h
   39   void SelectorRead(serialization::SelectorID iD, Selector Sel) override;
tools/clang/include/clang/Sema/ExternalSemaSource.h
   70   virtual void ReadMethodPool(Selector Sel);
   74   virtual void updateOutOfDateSelector(Selector Sel);
  155                  SmallVectorImpl<std::pair<Selector, SourceLocation> > &Sels) {}
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
   74   Selector GetExternalSelector(uint32_t ID) override;
  209   void ReadMethodPool(Selector Sel) override;
  213   void updateOutOfDateSelector(Selector Sel) override;
  293   void ReadReferencedSelectors(SmallVectorImpl<std::pair<Selector,
tools/clang/include/clang/Sema/Sema.h
  965   Selector RespondsToSelectorSel;
 1202   typedef llvm::DenseMap<Selector, GlobalMethods> GlobalMethodPool;
 1214   llvm::MapVector<Selector, SourceLocation> ReferencedSelectors;
 1268   void ReadMethodPool(Selector Sel);
 1269   void updateOutOfDateSelector(Selector Sel);
 1385         const SemaDiagnosticBuilder &Diag, const T &Value) {
 3778   typedef llvm::SmallPtrSet<Selector, 8> SelectorSet;
 3831                       Selector GetterSel,
 3833                       Selector SetterSel,
 3849                                        Selector GetterSel,
 3851                                        Selector SetterSel,
 3913   ObjCMethodDecl *LookupMethodInGlobalPool(Selector Sel, SourceRange R,
 3924   CollectMultipleMethodsInGlobalPool(Selector Sel,
 3930   AreMultipleMethodsInGlobalPool(Selector Sel, ObjCMethodDecl *BestMethod,
 3936                                      Selector Sel, SourceRange R,
 3942   ObjCMethodDecl *SelectBestMethod(Selector Sel, MultiExprArg Args,
 3975   ObjCMethodDecl *LookupInstanceMethodInGlobalPool(Selector Sel, SourceRange R,
 3983   ObjCMethodDecl *LookupFactoryMethodInGlobalPool(Selector Sel, SourceRange R,
 3989   const ObjCMethodDecl *SelectorsForTypoCorrection(Selector Sel,
 3993   ObjCMethodDecl *LookupImplementedMethodInGlobalPool(Selector Sel);
 6188   ExprResult ParseObjCSelectorExpression(Selector Sel,
 8703                       Selector GetterSel, Selector SetterSel,
 8703                       Selector GetterSel, Selector SetterSel,
 8742       ArrayRef<SourceLocation> SelectorLocs, Selector Sel,
 8750   ObjCMethodDecl *LookupMethodInQualifiedType(Selector Sel,
 8753   ObjCMethodDecl *LookupMethodInObjectType(Selector Sel, QualType Ty,
 8796                                Selector Sel,
 8805                                Selector Sel,
 8816                                        Selector Sel,
 8822                                Selector Sel,
 8831                                   Selector Sel,
 8842                                           Selector Sel,
 8848                                   Selector Sel,
10571                                  MultiExprArg Args, Selector Sel,
tools/clang/include/clang/Serialization/ASTBitCodes.h
 2114       Selector getSelector() const {
tools/clang/include/clang/Serialization/ASTDeserializationListener.h
   49   virtual void SelectorRead(serialization::SelectorID iD, Selector Sel) {}
tools/clang/include/clang/Serialization/ASTReader.h
  714   SmallVector<Selector, 16> SelectorsLoaded;
  725   llvm::DenseMap<Selector, unsigned> SelectorGeneration;
  729   llvm::DenseMap<Selector, bool> SelectorOutOfDate;
 1988   void ReadMethodPool(Selector Sel) override;
 1992   void updateOutOfDateSelector(Selector Sel) override;
 2021            SmallVectorImpl<std::pair<Selector, SourceLocation>> &Sels) override;
 2037   void LoadSelector(Selector Sel);
 2115   Selector getLocalSelector(ModuleFile &M, unsigned LocalID);
 2117   Selector DecodeSelector(serialization::SelectorID Idx);
 2119   Selector GetExternalSelector(serialization::SelectorID ID) override;
 2122   Selector ReadSelector(ModuleFile &M, const RecordData &Record, unsigned &Idx) {
 2550   Selector readSelector() {
tools/clang/include/clang/Serialization/ASTWriter.h
  322   llvm::MapVector<Selector, serialization::SelectorID> SelectorIDs;
  589   serialization::SelectorID getSelectorRef(Selector Sel);
  666   void SetSelectorOffset(Selector Sel, uint32_t Offset);
  707   void SelectorRead(serialization::SelectorID ID, Selector Sel) override;
  875   void AddSelectorRef(Selector S);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
  959                                         Selector Sel) const;
  986   Selector getSelector() const {
tools/clang/lib/ARCMigrate/ObjCMT.cpp
  555   Selector GetterSelector = Getter->getSelector();
 1015     Selector::getInstTypeMethodFamily(OM->getSelector());
 1176   Selector GetterSelector = Method->getSelector();
 1178     Selector::getInstTypeMethodFamily(GetterSelector);
 1184   Selector SetterSelector =
tools/clang/lib/ARCMigrate/TransAPIUses.cpp
   33   Selector getReturnValueSel, setReturnValueSel;
   34   Selector getArgumentSel, setArgumentSel;
   36   Selector zoneSel;
tools/clang/lib/ARCMigrate/TransAutoreleasePool.cpp
  416   Selector DrainSel;
tools/clang/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp
  197   Selector FinalizeSel =
tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp
   42   Selector DelegateSel, FinalizeSel;
tools/clang/lib/ARCMigrate/TransZeroOutPropsInDealloc.cpp
   34   Selector FinalizeSel;
tools/clang/lib/ARCMigrate/Transforms.cpp
  521   Selector FinalizeSel =
tools/clang/lib/AST/ASTImporter.cpp
  176     Expected<T> import(const T &From) {
  176     Expected<T> import(const T &From) {
  189     Expected<std::tuple<T>>
  190     importSeq(const T &From) {
  191       Expected<T> ToOrErr = import(From);
  194       return std::make_tuple<T>(std::move(*ToOrErr));
  202     Expected<std::tuple<THead, TTail...>>
  202     Expected<std::tuple<THead, TTail...>>
  203     importSeq(const THead &FromHead, const TTail &...FromTail) {
  203     importSeq(const THead &FromHead, const TTail &...FromTail) {
  204       Expected<std::tuple<THead>> ToHeadOrErr = importSeq(FromHead);
  207       Expected<std::tuple<TTail...>> ToTailOrErr = importSeq(FromTail...);
  216       auto operator()(Args &&... args)
  217           -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
  218         return ToDeclT::Create(std::forward<Args>(args)...);
  230                                                 Args &&... args) {
  236                                             std::forward<Args>(args)...);
  257                                    FromDeclT *FromD, Args &&... args) {
  265       ToD = CreateFun(std::forward<Args>(args)...);
 4835   Selector ToGetterName, ToSetterName;
 8701 Expected<Selector> ASTImporter::Import(Selector FromSel) {
 8701 Expected<Selector> ASTImporter::Import(Selector FromSel) {
tools/clang/lib/AST/DeclObjC.cpp
   91 ObjCContainerDecl::getMethod(Selector Sel, bool isInstance,
  125   Selector Sel = Property->getSetterName();
  560 bool ObjCInterfaceDecl::isDesignatedInitializer(Selector Sel,
  682 ObjCMethodDecl *ObjCInterfaceDecl::lookupMethod(Selector Sel,
  740                                    const Selector &Sel,
  779                                Selector SelInfo, QualType T,
  811     Selector SelInfo, QualType T, TypeSourceInfo *ReturnTInfo,
 1302   Selector Sel = getSelector();
 1318           Selector NextSel = IsGetter ? I->getGetterName()
 1325           Selector NextSel = IsGetter ? I->getGetterName()
 1679 ObjCInterfaceDecl::getCategoryInstanceMethod(Selector Sel) const {
 1689 ObjCMethodDecl *ObjCInterfaceDecl::getCategoryClassMethod(Selector Sel) const {
 1890 ObjCMethodDecl *ObjCProtocolDecl::lookupMethod(Selector Sel,
tools/clang/lib/AST/DeclarationName.cpp
   64     Selector LHSSelector = LHS.getObjCSelector();
   65     Selector RHSSelector = RHS.getObjCSelector();
tools/clang/lib/AST/ExprObjC.cpp
  125                                  QualType SuperType, Selector Sel,
  146                                  TypeSourceInfo *Receiver, Selector Sel,
  164                                  Selector Sel, ArrayRef<SourceLocation> SelLocs,
  208                         bool IsInstanceSuper, QualType SuperType, Selector Sel,
  228                         Selector Sel, ArrayRef<SourceLocation> SelLocs,
  246                         SourceLocation LBracLoc, Expr *Receiver, Selector Sel,
  274                                         Selector Sel,
  337 Selector ObjCMessageExpr::getSelector() const {
tools/clang/lib/AST/ExternalASTSource.cpp
   86 Selector ExternalASTSource::GetExternalSelector(uint32_t ID) {
tools/clang/lib/AST/NSAPI.cpp
   42 Selector NSAPI::getNSStringSelector(NSStringMethodKind MK) const {
   44     Selector Sel;
   78 Selector NSAPI::getNSArraySelector(NSArrayMethodKind MK) const {
   80     Selector Sel;
  145 Optional<NSAPI::NSArrayMethodKind> NSAPI::getNSArrayMethodKind(Selector Sel) {
  155 Selector NSAPI::getNSDictionarySelector(
  158     Selector Sel;
  247 NSAPI::getNSDictionaryMethodKind(Selector Sel) {
  257 Selector NSAPI::getNSSetSelector(NSSetMethodKind MK) const {
  259     Selector Sel;
  304 NSAPI::getNSSetMethodKind(Selector Sel) {
  314 Selector NSAPI::getNSNumberLiteralSelector(NSNumberLiteralMethodKind MK,
  351   Selector *Sels;
  367 NSAPI::getNSNumberLiteralMethodKind(Selector Sel) const {
  593 Selector NSAPI::getOrInitSelector(ArrayRef<StringRef> Ids,
  594                                   Selector &Sel) const {
  605 Selector NSAPI::getOrInitNullarySelector(StringRef Id, Selector &Sel) const {
  605 Selector NSAPI::getOrInitNullarySelector(StringRef Id, Selector &Sel) const {
tools/clang/lib/AST/ODRHash.cpp
   69     Selector S = Name.getObjCSelector();
tools/clang/lib/AST/SelectorLocationsKind.cpp
   20                                         Selector Sel,
   69 SelectorLocationsKind hasStandardSelLocs(Selector Sel,
   96 clang::hasStandardSelectorLocs(Selector Sel,
  104                                              Selector Sel,
  113 clang::hasStandardSelectorLocs(Selector Sel,
  121                                              Selector Sel,
tools/clang/lib/AST/StmtPrinter.cpp
 2363   Selector selector = Mess->getSelector();
tools/clang/lib/Analysis/CallGraph.cpp
  116       Selector Sel = ME->getSelector();
tools/clang/lib/Analysis/ObjCNoReturn.cpp
   49   Selector S = ME->getSelector();
tools/clang/lib/Analysis/RetainSummaryManager.cpp
 1017                                                Selector S, QualType RetTy) {
 1140   Selector S = ME->getSelector();
 1150 RetainSummaryManager::getMethodSummary(Selector S,
 1277   Selector S = MD->getSelector();
tools/clang/lib/Basic/IdentifierTable.cpp
  354 unsigned llvm::DenseMapInfo<clang::Selector>::getHashValue(clang::Selector S) {
  507 ObjCMethodFamily Selector::getMethodFamilyImpl(Selector sel) {
  555 ObjCInstanceTypeFamily Selector::getInstTypeMethodFamily(Selector sel) {
  583 ObjCStringFormatFamily Selector::getStringFormatFamilyImpl(Selector sel) {
  631 Selector
  640 std::string SelectorTable::getPropertyNameFromSetterSelector(Selector Sel) {
  651 Selector SelectorTable::getSelector(unsigned nKeys, IdentifierInfo **IIV) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  309 StringRef CGDebugInfo::getSelectorName(Selector S) {
tools/clang/lib/CodeGen/CGDebugInfo.h
  658   StringRef getSelectorName(Selector S);
tools/clang/lib/CodeGen/CGObjC.cpp
   71   Selector Sel = BoxingMethod->getSelector();
  214   Selector Sel = MethodWithObjects->getSelector();
  373                                   const CallArgList& Args, Selector Sel,
  443   Selector Sel = OME->getSelector();
  455   Selector SubSel = SubOME->getSelector();
 1659   Selector FastEnumSel =
 2533   Selector AllocSel = getContext().Selectors.getSelector(0, &II);
 2543   Selector InitSel = getContext().Selectors.getSelector(0, &II);
 2580   Selector DrainSel = getContext().Selectors.getSelector(0, &II);
 3676   Selector CopySelector =
 3679   Selector AutoreleaseSelector =
tools/clang/lib/CodeGen/CGObjCGNU.cpp
   45      StringRef CategoryName, const Selector MethodName,
  374   typedef llvm::DenseMap<Selector, SmallVector<TypedSelector, 2> >
  382   Selector RetainSel, ReleaseSel, AutoreleaseSel;
  519   virtual llvm::Value *GetTypedSelector(CodeGenFunction &CGF, Selector Sel,
  580                       QualType ResultType, Selector Sel,
  586                            QualType ResultType, Selector Sel,
  593   llvm::Value *GetSelector(CodeGenFunction &CGF, Selector Sel) override;
  594   Address GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) override;
  597   virtual llvm::Constant *GetConstantSelector(Selector Sel,
 1424   llvm::Value *GetTypedSelector(CodeGenFunction &CGF, Selector Sel,
 1448   llvm::Constant *GetConstantSelector(Selector Sel,
 2316 llvm::Value *CGObjCGNU::GetTypedSelector(CodeGenFunction &CGF, Selector Sel,
 2338 Address CGObjCGNU::GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) {
 2349 llvm::Value *CGObjCGNU::GetSelector(CodeGenFunction &CGF, Selector Sel) {
 2496                                     Selector Sel,
 2616                                Selector Sel,
 3664     std::vector<Selector> allSelectors;
 3669     for (auto &untypedSel : allSelectors) {
 3859   Selector MethodName = OMD->getSelector();
tools/clang/lib/CodeGen/CGObjCMac.cpp
  864   llvm::DenseMap<Selector, llvm::GlobalVariable*> MethodVarNames;
  884   llvm::DenseMap<Selector, llvm::GlobalVariable*> SelectorReferences;
  930   llvm::Constant *GetMethodVarName(Selector Sel);
 1305   llvm::Value *EmitSelector(CodeGenFunction &CGF, Selector Sel);
 1306   Address EmitSelectorAddr(CodeGenFunction &CGF, Selector Sel);
 1318                                       Selector Sel, llvm::Value *Receiver,
 1326                            Selector Sel, const ObjCInterfaceDecl *Class,
 1334   llvm::Value *GetSelector(CodeGenFunction &CGF, Selector Sel) override;
 1335   Address GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) override;
 1412   llvm::DenseSet<Selector> VTableDispatchMethods;
 1419   bool isVTableDispatchedSelector(Selector Sel);
 1481                                         Selector Sel,
 1533   llvm::Value *EmitSelector(CodeGenFunction &CGF, Selector Sel);
 1534   Address EmitSelectorAddr(CodeGenFunction &CGF, Selector Sel);
 1550   Selector GetNullarySelector(const char* name) const {
 1555   Selector GetUnarySelector(const char* name) const {
 1602                                       QualType ResultType, Selector Sel,
 1611                            Selector Sel, const ObjCInterfaceDecl *Class,
 1619   llvm::Value *GetSelector(CodeGenFunction &CGF, Selector Sel) override
 1621   Address GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) override
 1886 llvm::Value *CGObjCMac::GetSelector(CodeGenFunction &CGF, Selector Sel) {
 1889 Address CGObjCMac::GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) {
 2055                                     Selector Sel,
 2116                                                Selector Sel,
 5120 llvm::Value *CGObjCMac::EmitSelector(CodeGenFunction &CGF, Selector Sel) {
 5124 Address CGObjCMac::EmitSelectorAddr(CodeGenFunction &CGF, Selector Sel) {
 5491 llvm::Constant *CGObjCCommonMac::GetMethodVarName(Selector Sel) {
 6127 bool CGObjCNonFragileABIMac::isVTableDispatchedSelector(Selector Sel) {
 7090                                              Selector selector) {
 7116                                               Selector selector,
 7228                                             Selector Sel,
 7432                                                  Selector Sel,
 7476                                                   Selector Sel) {
 7486                                                  Selector Sel) {
tools/clang/lib/CodeGen/CGObjCRuntime.h
  124   virtual llvm::Value *GetSelector(CodeGenFunction &CGF, Selector Sel) = 0;
  131   virtual Address GetAddrOfSelector(CodeGenFunction &CGF, Selector Sel) = 0;
  166                       Selector Sel,
  182                            Selector Sel,
tools/clang/lib/CodeGen/CodeGenModule.cpp
 5154     Selector cxxSelector = getContext().Selectors.getSelector(0, &II);
 5173   Selector cxxSelector = getContext().Selectors.getSelector(0, &II);
tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp
   67   Selector Sel = Msg->getSelector();
  158                                         Selector subscriptSel) {
  302   Selector Sel = Msg->getSelector();
  387   Selector Sel = Msg->getSelector();
  456     Selector Sel = Msg->getSelector();
  491   Selector Sel = Msg->getSelector();
  614   Selector Sel = Msg->getSelector();
  777   Selector Sel = Msg->getSelector();
  985   Selector Sel = Msg->getSelector();
 1162   Selector Sel = Msg->getSelector();
tools/clang/lib/Frontend/FrontendAction.cpp
   72   void SelectorRead(serialization::SelectorID ID, Selector Sel) override {
tools/clang/lib/Frontend/MultiplexConsumer.cpp
   59     serialization::SelectorID ID, Selector Sel) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  594       Selector LoadSel = Context->Selectors.getSelector(0, &II);
tools/clang/lib/Parse/ParseObjc.cpp
  752         Selector GetterSel = PP.getSelectorTable().getNullarySelector(SelName);
  754         Selector SetterSel;
 1380     Selector Sel = PP.getSelectorTable().getNullarySelector(SelIdent);
 1503   Selector Sel = PP.getSelectorTable().getSelector(KeyIdents.size(),
 3299   Selector Sel = PP.getSelectorTable().getSelector(nKeys, &KeyIdents[0]);
 3622   Selector Sel = PP.getSelectorTable().getSelector(nColons, &KeyIdents[0]);
tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
   54 Selector MultiplexExternalSemaSource::GetExternalSelector(uint32_t ID) {
   55   Selector Sel;
  215 void MultiplexExternalSemaSource::ReadMethodPool(Selector Sel) {
  220 void MultiplexExternalSemaSource::updateOutOfDateSelector(Selector Sel) {
  283                   SmallVectorImpl<std::pair<Selector, SourceLocation> > &Sels) {
tools/clang/lib/Sema/Sema.cpp
 1906 void ExternalSemaSource::ReadMethodPool(Selector Sel) { }
 1907 void ExternalSemaSource::updateOutOfDateSelector(Selector Sel) { }
tools/clang/lib/Sema/SemaChecking.cpp
13606     Selector Cmd = ME->getSelector();
13647 static bool isSetterLikeSelector(Selector sel) {
13676   Selector Sel = Message->getSelector();
13711   Selector Sel = Message->getSelector();
13746   Selector Sel = Message->getSelector();
tools/clang/lib/Sema/SemaCodeComplete.cpp
  181   Selector PreferredSelector;
  262   void setPreferredSelector(Selector Sel) { PreferredSelector = Sel; }
 3433     Selector Sel = Method->getSelector();
 6130 static bool isAcceptableObjCSelector(Selector Sel, ObjCMethodKind WantKind,
 6166 typedef llvm::SmallPtrSet<Selector, 16> VisitedSelectorSet;
 6417   Selector Sel = Msg->getSelector();
 6560   Selector Sel = CurMethod->getSelector();
 6775         Selector Sel = SemaRef.getExternalSource()->GetExternalSelector(I);
 6947         Selector Sel = ExternalSource->GetExternalSelector(I);
 7018       Selector Sel = ExternalSource->GetExternalSelector(I);
 7034     Selector Sel = M->first;
 7419 typedef llvm::DenseMap<Selector,
 8223     Selector Sel = Method->getSelector();
 8334       Selector Sel = ExternalSource->GetExternalSelector(I);
tools/clang/lib/Sema/SemaDeclAttr.cpp
 7986         Selector Sel = MethodDecl->getSelector();
tools/clang/lib/Sema/SemaDeclObjC.cpp
 1749   llvm::DenseMap<Selector, const ObjCMethodDecl*> MethodMap;
 2722     Selector fISelector = S.Context.Selectors.getSelector(1, &II);
 2924     Selector Sel = I->getSelector();
 2934     Selector Sel = I->getSelector();
 3386 void Sema::ReadMethodPool(Selector Sel) {
 3391 void Sema::updateOutOfDateSelector(Selector Sel) {
 3427   Selector sel = chosen->getSelector();
 3472     Selector Sel, SmallVectorImpl<ObjCMethodDecl *> &Methods,
 3511     Selector Sel, ObjCMethodDecl *BestMethod, SourceRange R,
 3535 ObjCMethodDecl *Sema::LookupMethodInGlobalPool(Selector Sel, SourceRange R,
 3556                                               Selector Sel, SourceRange R,
 3609 ObjCMethodDecl *Sema::LookupImplementedMethodInGlobalPool(Selector Sel) {
 3654 static bool HelperIsMethodInObjCType(Sema &S, Selector Sel,
 3665 Sema::SelectorsForTypoCorrection(Selector Sel,
 3907   llvm::DenseMap<Selector, const ObjCMethodDecl*> InsMap;
 3908   llvm::DenseMap<Selector, const ObjCMethodDecl*> ClsMap;
 4180     Selector selector = method->getSelector();
 4542     ArrayRef<SourceLocation> SelectorLocs, Selector Sel,
 4968     SmallVector<std::pair<Selector, SourceLocation>, 4> Sels;
 4981     Selector Sel = SelectorAndLocation.first;
tools/clang/lib/Sema/SemaExpr.cpp
10132   Selector IsEqualSel = S.NSAPIObj->getIsEqualSelector();
12710       Selector S = ME->getSelector();
17198       Selector Sel = ME->getSelector();
tools/clang/lib/Sema/SemaExprMember.cpp
  432                                                 const Selector &Sel,
  451                                       const Selector &Sel,
 1496       Selector Sel = S.PP.getSelectorTable().getNullarySelector(Member);
 1510           Selector SetterSel =
 1548       Selector Sel = S.PP.getSelectorTable().getNullarySelector(Member);
 1562       Selector SetterSel =
tools/clang/lib/Sema/SemaExprObjC.cpp
  148                                  Selector Sel, const ObjCMethodDecl *Method) {
  260   Selector Sel = S.NSAPIObj->getNSNumberLiteralSelector(*Kind,
  554         Selector stringWithUTF8String = Context.Selectors.getUnarySelector(II);
  666       Selector ValueWithBytesObjCType = Context.Selectors.getSelector(2, II);
  809     Selector
  915     Selector Sel = NSAPIObj->getNSDictionarySelector(
 1177 ExprResult Sema::ParseObjCSelectorExpression(Selector Sel,
 1190       Selector MatchedSel = OM->getSelector();
 1555     Selector Sel, ArrayRef<SourceLocation> SelectorLocs, ObjCMethodDecl *Method,
 1597         Selector MatchedSel = OMD->getSelector();
 1777 ObjCMethodDecl *Sema::LookupMethodInObjectType(Selector sel, QualType type,
 1801 ObjCMethodDecl *Sema::LookupMethodInQualifiedType(Selector Sel,
 1878   Selector Sel = PP.getSelectorTable().getNullarySelector(Member);
 1896   Selector SetterSel =
 2047   Selector GetterSel;
 2048   Selector SetterSel;
 2224                                    Selector Sel,
 2276                                            Selector Sel,
 2385                                         Selector Sel,
 2450                                    Selector Sel,
 2593                                    Selector Sel,
 2615                                               Selector Sel,
 2673                                       Selector Sel,
 3072           Selector ArgSel = SelExp->getSelector();
 3200     Selector Sel = OSE->getSelector();
 3213                                       Selector Sel,
 4069     Selector Sel = Context.Selectors.getUnarySelector(CMId);
 4083     Selector Sel = Context.Selectors.getNullarySelector(IMId);
tools/clang/lib/Sema/SemaObjCProperty.cpp
  181                           Selector GetterSel,
  182                           Selector SetterSel,
  416                                      Selector GetterSel,
  418                                      Selector SetterSel,
  569                                            Selector GetterSel,
  571                                            Selector SetterSel,
 1939     Sema &S, ObjCInterfaceDecl *PrimaryClass, Selector Method,
tools/clang/lib/Sema/SemaOverload.cpp
 6299 Sema::SelectBestMethod(Selector Sel, MultiExprArg Args, bool IsInstance,
tools/clang/lib/Sema/SemaPseudoObject.cpp
  278     Selector SetterSelector;
  279     Selector GetterSelector;
  316    Selector AtIndexGetterSelector;
  319    Selector AtIndexSetterSelector;
  555 static ObjCMethodDecl *LookupMethodInReceiverType(Sema &S, Selector sel,
 1135   Selector GetterSelector = S.Context.Selectors.getSelector(1, KeyIdents);
tools/clang/lib/Sema/SemaStmt.cpp
 1873     Selector selector = Context.Selectors.getSelector(3, &selectorIdents[0]);
tools/clang/lib/Serialization/ASTCommon.cpp
  251 unsigned serialization::ComputeHash(Selector Sel) {
tools/clang/lib/Serialization/ASTCommon.h
   73 unsigned ComputeHash(Selector Sel);
tools/clang/lib/Serialization/ASTReader.cpp
  814 unsigned ASTSelectorLookupTrait::ComputeHash(Selector Sel) {
  850 ASTSelectorLookupTrait::ReadData(Selector, const unsigned char* d,
 8514     Selector Sel;
 8524     ReadMethodPoolVisitor(ASTReader &Reader, Selector Sel,
 8593 void ASTReader::ReadMethodPool(Selector Sel) {
 8630 void ASTReader::updateOutOfDateSelector(Selector Sel) {
 8726        SmallVectorImpl<std::pair<Selector, SourceLocation>> &Sels) {
 8735     Selector Sel = DecodeSelector(ReferencedSelectorsData[I++]);
 8811 void ASTReader::LoadSelector(Selector Sel) {
 9061 Selector ASTReader::getLocalSelector(ModuleFile &M, unsigned LocalID) {
 9065 Selector ASTReader::DecodeSelector(serialization::SelectorID ID) {
 9090 Selector ASTReader::GetExternalSelector(serialization::SelectorID ID) {
tools/clang/lib/Serialization/ASTReaderInternals.h
  206   using external_key_type = Selector;
  219   static hash_value_type ComputeHash(Selector Sel);
  228   data_type ReadData(Selector, const unsigned char* d, unsigned DataLen);
tools/clang/lib/Serialization/ASTWriter.cpp
 3334   using key_type = Selector;
 3348   static hash_value_type ComputeHash(Selector Sel) {
 3353     EmitKeyDataLength(raw_ostream& Out, Selector Sel,
 3373   void EmitKey(raw_ostream& Out, Selector Sel, unsigned) {
 3460       Selector S = SelectorAndID.first;
 3557     Selector Sel = SelectorAndLocation.first;
 4657 void ASTWriter::SetSelectorOffset(Selector Sel, uint32_t Offset) {
 4991   llvm::SmallVector<Selector, 256> AllSelectors;
 4994   for (auto &Selector : AllSelectors)
 5549 void ASTRecordWriter::AddSelectorRef(const Selector SelRef) {
 5553 SelectorID ASTWriter::getSelectorRef(Selector Sel) {
 6308 void ASTWriter::SelectorRead(SelectorID ID, Selector S) {
tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
  101     mutable llvm::SmallDenseMap<Selector, unsigned, 16> StringSelectors;
  102     mutable Selector ArrayWithObjectSel;
  103     mutable Selector AddObjectSel;
  104     mutable Selector InsertObjectAtIndexSel;
  105     mutable Selector ReplaceObjectAtIndexWithObjectSel;
  106     mutable Selector SetObjectAtIndexedSubscriptSel;
  107     mutable Selector ArrayByAddingObjectSel;
  108     mutable Selector DictionaryWithObjectForKeySel;
  109     mutable Selector SetObjectForKeySel;
  110     mutable Selector SetObjectForKeyedSubscriptSel;
  111     mutable Selector RemoveObjectForKeySel;
  233     Selector S = msg.getSelector();
  240       Selector Sels[] = {
  252       for (Selector KnownSel : Sels)
  260     Selector S = msg.getSelector();
  288     Selector S = msg.getSelector();
  595   mutable Selector releaseS;
  596   mutable Selector retainS;
  597   mutable Selector autoreleaseS;
  598   mutable Selector drainS;
  624   Selector S = msg.getSelector();
  651   mutable Selector arrayWithObjectsS;
  652   mutable Selector dictionaryWithObjectsAndKeysS;
  653   mutable Selector setWithObjectsS;
  654   mutable Selector orderedSetWithObjectsS;
  655   mutable Selector initWithObjectsS;
  656   mutable Selector initWithObjectsAndKeysS;
  675   Selector S = msg.getSelector();
 1001   Selector S = M.getSelector();
 1147     mutable Selector ObjectAtIndex;
 1148     mutable Selector ObjectAtIndexedSubscript;
 1149     mutable Selector NullSelector;
 1220       Selector Sel = M.getSelector();
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
  104   mutable Selector DeallocSel, ReleaseSel;
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp
   91   typedef llvm::DenseMap<Selector,ObjCMethodDecl*> MapTy;
  104       Selector S = M->getSelector();
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  668       Selector Sel = MessageExpr->getSelector();
  822   Selector Sel = MessageExpr->getSelector();
tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
   67                          llvm::DenseMap<Selector, uint8_t>> UIMethods;
   69   mutable llvm::SmallSet<std::pair<const IdentifierInfo *, Selector>, 12> LSM;
   87                                       Selector S) const;
  783     const IdentifierInfo *Receiver, Selector S) const {
  808   Selector S = msg.getSelector();
  981   Selector S = msg.getSelector();
  984   std::pair<const IdentifierInfo *, Selector> MethodDescription = {odInfo, S};
tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
 1450   Selector S = Call.getSelector();
tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp
   35   mutable Selector releaseS;
tools/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
   31   mutable Selector HandleFailureInFunctionSel;
   32   mutable Selector HandleFailureInMethodSel;
  118   Selector Sel = Msg.getSelector();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
   43   explicit FindSuperCallVisitor(Selector S) : DoesCallSuper(false), Sel(S) {}
   57   Selector Sel;
   77   mutable llvm::StringMap<llvm::SmallSet<Selector, 16> > SelectorsForClass;
  103   llvm::SmallSet<Selector, 16> &ClassSelectors = SelectorsForClass[ClassName];
  113     Selector Sel = Ctx.Selectors.getSelector(Descriptor.ArgumentCount, &II);
  182     Selector S = MD->getSelector();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
   31   mutable Selector SELdealloc;
tools/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp
   51   Selector ObjectForKeyedSubscriptSel;
   52   Selector ObjectForKeySel;
   53   Selector SetObjectForKeyedSubscriptSel;
   54   Selector SetObjectForKeySel;
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
 1104                                              Selector Sel) const {
 1192   Selector Sel = E->getSelector();
 1270         using PrivateMethodKey = std::pair<const ObjCInterfaceDecl *, Selector>;
 1332     Selector Sel = getSelector();
tools/clang/tools/libclang/CIndex.cpp
 8128   Selector sel = PD->getGetterName();
 8140   Selector sel = PD->getSetterName();
tools/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h
   68   clang::Selector GetExternalSelector(uint32_t ID) override {
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
   35   clang::Selector GetExternalSelector(uint32_t ID) override {
  279   clang::Selector GetExternalSelector(uint32_t ID) override {
  280     clang::Selector Sel;
  446   void ReadMethodPool(clang::Selector Sel) override {
  451   void updateOutOfDateSelector(clang::Selector Sel) override {
  518       llvm::SmallVectorImpl<std::pair<clang::Selector, clang::SourceLocation>>
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
 1073   Selector original_selector;
 1088     clang::Selector sel = decl_name.getObjCSelector();
 1207     clang::Selector sel = decl_name.getObjCSelector();
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
   50   clang::Selector GetExternalSelector(uint32_t) override {
tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
  365     clang::Selector sel = ast_ctx.Selectors.getSelector(
tools/lldb/source/Symbol/ClangASTContext.cpp
 8419         clang::Selector setter_sel, getter_sel;
 8619   clang::Selector method_selector = ast->Selectors.getSelector(
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*;
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  474 	construct(allocator_type& __a, _Up* __p, _Args&&... __args)
  486 	destroy(allocator_type& __a, _Up* __p)
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/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
  104     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
  105                     is_copy_constructible<_Tp>>::type { };
  184     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
  185 			      is_move_constructible<_Tp>,
  186 			      is_move_assignable<_Tp>>::value>::type
  187     swap(_Tp& __a, _Tp& __b)
  187     swap(_Tp& __a, _Tp& __b)
  198       _Tp __tmp = _GLIBCXX_MOVE(__a);
usr/include/c++/7.4.0/bits/predefined_ops.h
   64       operator()(_Iterator __it, _Value& __val) const
   89       operator()(_Value& __val, _Iterator __it) const
usr/include/c++/7.4.0/bits/stl_algo.h
 4076     count(_InputIterator __first, _InputIterator __last, 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)...); }
  204 	     allocator<_Tp>&)
usr/include/c++/7.4.0/bits/stl_function.h
  108       typedef _Arg 	argument_type;   
  111       typedef _Result 	result_type;  
  121       typedef _Arg1 	first_argument_type; 
  124       typedef _Arg2 	second_argument_type;
  381     struct less : public binary_function<_Tp, _Tp, bool>
  381     struct less : public binary_function<_Tp, _Tp, bool>
  385       operator()(const _Tp& __x, const _Tp& __y) const
  385       operator()(const _Tp& __x, const _Tp& __y) const
  870     : public unary_function<_Tp,_Tp>
  870     : public unary_function<_Tp,_Tp>
  872       _Tp&
  873       operator()(_Tp& __x) const
  876       const _Tp&
  877       operator()(const _Tp& __x) const
usr/include/c++/7.4.0/bits/stl_heap.h
  129 		_Distance __holeIndex, _Distance __topIndex, _Tp __value,
  215 		  _Distance __len, _Tp __value, _Compare __comp)
usr/include/c++/7.4.0/bits/stl_iterator.h
 1224     __make_move_if_noexcept_iterator(_Tp* __i)
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;
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&>,
  101 		      is_constructible<_T2, const _U2&>>::value;
  101 		      is_constructible<_T2, const _U2&>>::value;
  107 	return __and_<is_convertible<const _U1&, _T1>,
  107 	return __and_<is_convertible<const _U1&, _T1>,
  108 		      is_convertible<const _U2&, _T2>>::value;
  108 		      is_convertible<const _U2&, _T2>>::value;
  114 	return __and_<is_constructible<_T1, _U1&&>,
  114 	return __and_<is_constructible<_T1, _U1&&>,
  115 		      is_constructible<_T2, _U2&&>>::value;
  115 		      is_constructible<_T2, _U2&&>>::value;
  121 	return __and_<is_convertible<_U1&&, _T1>,
  121 	return __and_<is_convertible<_U1&&, _T1>,
  122 		      is_convertible<_U2&&, _T2>>::value;
  122 		      is_convertible<_U2&&, _T2>>::value;
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  128 	using __do_converts = __and_<is_convertible<const _U1&, _T1>,
  129 				  is_convertible<_U2&&, _T2>>;
  129 				  is_convertible<_U2&&, _T2>>;
  133 	return __and_<is_constructible<_T1, const _U1&>,
  133 	return __and_<is_constructible<_T1, const _U1&>,
  134 		      is_constructible<_T2, _U2&&>,
  134 		      is_constructible<_T2, _U2&&>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  142 	using __do_converts = __and_<is_convertible<_U1&&, _T1>,
  143 				  is_convertible<const _U2&, _T2>>;
  143 				  is_convertible<const _U2&, _T2>>;
  147 	return __and_<is_constructible<_T1, _U1&&>,
  147 	return __and_<is_constructible<_T1, _U1&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  148 		      is_constructible<_T2, const _U2&&>,
  209     : private __pair_base<_T1, _T2>
  209     : private __pair_base<_T1, _T2>
  211       typedef _T1 first_type;    /// @c first_type is the first bound type
  212       typedef _T2 second_type;   /// @c second_type is the second bound type
  214       _T1 first;                 /// @c first is a copy of the first object
  215       _T2 second;                /// @c second is a copy of the second object
  252       using _PCCP = _PCC<true, _T1, _T2>;
  252       using _PCCP = _PCC<true, _T1, _T2>;
  260       constexpr pair(const _T1& __a, const _T2& __b)
  260       constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  269       explicit constexpr pair(const _T1& __a, const _T2& __b)
  283 			    _T1, _T2>;
  283 			    _T1, _T2>;
  291         constexpr pair(const pair<_U1, _U2>& __p)
  291         constexpr pair(const pair<_U1, _U2>& __p)
  311        constexpr pair(_U1&& __x, const _T2& __y)
  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)
  325        constexpr pair(const _T1& __x, _U2&& __y)
  332        explicit pair(const _T1& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  341 	constexpr pair(_U1&& __x, _U2&& __y)
  342 	: first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
  342 	: first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
  360 	constexpr pair(pair<_U1, _U2>&& __p)
  360 	constexpr pair(pair<_U1, _U2>&& __p)
  361 	: first(std::forward<_U1>(__p.first)),
  362 	  second(std::forward<_U2>(__p.second)) { }
  379 		__and_<is_copy_assignable<_T1>,
  380 		       is_copy_assignable<_T2>>::value,
  390 		__and_<is_move_assignable<_T1>,
  391 		       is_move_assignable<_T2>>::value,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  402       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
  403 				is_assignable<_T2&, const _U2&>>::value,
  403 				is_assignable<_T2&, const _U2&>>::value,
  405 	operator=(const pair<_U1, _U2>& __p)
  405 	operator=(const pair<_U1, _U2>& __p)
  413       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
  413       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
  414 				is_assignable<_T2&, _U2&&>>::value,
  414 				is_assignable<_T2&, _U2&&>>::value,
  416 	operator=(pair<_U1, _U2>&& __p)
  416 	operator=(pair<_U1, _U2>&& __p)
  448     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  448     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  454     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  454     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
  522     constexpr pair<typename __decay_and_strip<_T1>::__type,
  523                    typename __decay_and_strip<_T2>::__type>
  524     make_pair(_T1&& __x, _T2&& __y)
  524     make_pair(_T1&& __x, _T2&& __y)
  526       typedef typename __decay_and_strip<_T1>::__type __ds_type1;
  527       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
  529       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
  529       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
usr/include/c++/7.4.0/bits/stl_set.h
  110       typedef _Key     key_type;
  111       typedef _Key     value_type;
  119 	rebind<_Key>::other _Key_alloc_type;
usr/include/c++/7.4.0/bits/stl_tree.h
  218       typedef _Rb_tree_node<_Val>* _Link_type;
  231       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
  233       _Val*
  237       const _Val*
  258       typedef _Tp  value_type;
  259       typedef _Tp& reference;
  260       typedef _Tp* pointer;
  265       typedef _Rb_tree_iterator<_Tp>        _Self;
  267       typedef _Rb_tree_node<_Tp>*           _Link_type;
  328       typedef _Tp        value_type;
  329       typedef const _Tp& reference;
  330       typedef const _Tp* pointer;
  332       typedef _Rb_tree_iterator<_Tp> iterator;
  337       typedef _Rb_tree_const_iterator<_Tp>        _Self;
  339       typedef const _Rb_tree_node<_Tp>*           _Link_type;
  447         rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
  454       typedef _Rb_tree_node<_Val>* 		_Link_type;
  455       typedef const _Rb_tree_node<_Val>*	_Const_Link_type;
  554 	  operator()(_Arg&& __arg) const
  563       typedef _Key 				key_type;
  564       typedef _Val 				value_type;
  621 	_M_construct_node(_Link_type __node, _Args&&... __args)
  625 	      ::new(__node) _Rb_tree_node<_Val>;
  640         _M_create_node(_Args&&... __args)
  758       static const _Key&
  782       static const _Key&
  834 	_M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
  894 		     const _Key& __k);
  898 		     const _Key& __k) const;
  902 		     const _Key& __k);
  906 		     const _Key& __k) const;
 1011         _M_insert_unique(_Arg&& __x);
usr/include/c++/7.4.0/bits/stl_uninitialized.h
  288 			   _ForwardIterator __result, allocator<_Tp>&)
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*
 1483 	_M_realloc_insert(iterator __position, _Args&&... __args);
usr/include/c++/7.4.0/ext/aligned_buffer.h
   52       struct _Tp2 { _Tp _M_t; };
   54       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
   69       _Tp*
   73       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;
  111 	return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
  130       { return size_t(-1) / sizeof(_Tp); }
  135 	construct(_Up* __p, _Args&&... __args)
  135 	construct(_Up* __p, _Args&&... __args)
  136 	{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
  140 	destroy(_Up* __p) { __p->~_Up(); }
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/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;
  186     : public _Tuple_impl<_Idx + 1, _Tail...>,
  187       private _Head_base<_Idx, _Head>
  191       typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
  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)
  210       constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
  216         constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
  216         constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
  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)
  235         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
  248 		    const _Head& __head, const _Tail&... __tail)
  248 		    const _Head& __head, const _Tail&... __tail)
  313 	  _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in);
  314 	  _M_tail(*this) = _Tuple_impl<_Idx, _UElements...>::_M_tail(__in);
  344     : private _Head_base<_Idx, _Head>
  348       typedef _Head_base<_Idx, _Head> _Base;
  350       static constexpr _Head&
  353       static constexpr const _Head&
  360       constexpr _Tuple_impl(const _Head& __head)
  365         constexpr _Tuple_impl(_UHead&& __head)
  366 	: _Base(std::forward<_UHead>(__head)) { }
  373       : _Base(std::forward<_Head>(_M_head(__in))) { }
  376         constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
  380         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
  390 		    const _Head& __head)
  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;
  497       return  __and_<__not_<is_same<tuple<_Elements...>,
  501                      __not_<is_convertible<_SrcTuple, _Elements...>>,
  502                      __not_<is_constructible<_Elements..., _SrcTuple>>
  508       return  __not_<is_same<tuple<_Elements...>,
  510 			       typename remove_reference<_UElements...>::type
  556     class tuple : public _Tuple_impl<0, _Elements...>
  558       typedef _Tuple_impl<0, _Elements...> _Inherited;
  598             _Elements...>;
  608         constexpr tuple(const _Elements&... __elements)
  619       explicit constexpr tuple(const _Elements&... __elements)
  628                       _Elements...>;
  636                       _Elements...>;
  646         constexpr tuple(_UElements&&... __elements)
  647         : _Inherited(std::forward<_UElements>(__elements)...) { }
  668             _Elements...>;
  730 	      const _Elements&... __elements)
  741                        const _Elements&... __elements)
  853         operator=(const tuple<_UElements...>& __in)
  863         operator=(tuple<_UElements...>&& __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...>>&
 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...>>&
 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...>>&&
 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)...);
 1468 			tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
 1468 			tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
 1468 			tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
 1475       typedef tuple<_Tp...> __type;
 1503       typedef tuple<_Ts...> __type;
 1509       typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
 1509       typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
 1550         _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us)
 1565 	_S_do(_Us&&... __us)
 1588     constexpr tuple<_Elements&...>
 1589     tie(_Elements&... __args) noexcept
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
  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>>>
  798       typedef decltype(__test<_Tp>(0)) type;
  811                remove_all_extents<_Tp>::type>::type
  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>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1352     : public is_nothrow_assignable<_Tp&, _Tp&&>
 1358     : public __is_nt_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;
 1538       typedef decltype(__test<_From, _To>(0)) type;
 1545     : public __is_convertible_helper<_From, _To>::type
 1545     : public __is_convertible_helper<_From, _To>::type
 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; };
 1664     : public __add_rvalue_reference_helper<_Tp>
 1955     { typedef _Tp     type; };
 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;
 2171     { typedef _Iffalse type; };
 2574       typename remove_reference<_Tp>::type>::type>::type