reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
65 using key_type = KeyT; 69 using iterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT>; 71 DenseMapIterator<KeyT, ValueT, KeyInfoT, BucketT, true>; 145 size_type count(const_arg_type_t<KeyT> Val) const { 156 const_iterator find(const_arg_type_t<KeyT> Val) const { 185 ValueT lookup(const_arg_type_t<KeyT> Val) const { 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>; 1163 using ConstIterator = DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, true>; 1186 if (shouldReverseIterate<KeyT>()) { 1199 const DenseMapIterator<KeyT, ValueT, KeyInfoT, Bucket, IsConstSrc> &I) 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/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/Support/type_traits.h
65 using type = const T &;
unittests/ADT/DenseSetTest.cpp147 CountCopyAndMove(const CountCopyAndMove &RHS) { 151 CountCopyAndMove &operator=(const CountCopyAndMove &RHS) { 151 CountCopyAndMove &operator=(const CountCopyAndMove &RHS) { 156 CountCopyAndMove(CountCopyAndMove &&RHS) { 160 CountCopyAndMove &operator=(const CountCopyAndMove &&RHS) { 160 CountCopyAndMove &operator=(const CountCopyAndMove &&RHS) { 173 static inline CountCopyAndMove getEmptyKey() { return CountCopyAndMove(-1); }; 174 static inline CountCopyAndMove getTombstoneKey() { 177 static unsigned getHashValue(const CountCopyAndMove &Val) { 180 static bool isEqual(const CountCopyAndMove &LHS, 181 const CountCopyAndMove &RHS) { 196 DenseSet<CountCopyAndMove> Set; 199 CountCopyAndMove::Copy = 0; 200 CountCopyAndMove::Move = 0;usr/include/c++/7.4.0/bits/move.h
72 constexpr _Tp&& 73 forward(typename std::remove_reference<_Tp>::type& __t) noexcept 83 constexpr _Tp&& 84 forward(typename std::remove_reference<_Tp>::type&& __t) noexcept 98 move(_Tp&& __t) noexceptusr/include/c++/7.4.0/type_traits
381 : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type 1554 { typedef _Tp type; }; 1563 { typedef _Tp type; }; 1574 remove_const<typename remove_volatile<_Tp>::type>::type type; 1629 { typedef _Tp type; }; 1633 { typedef _Tp type; };