reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
129 ValueTy second; 134 StringMapEntryStorage(size_t strLen, InitTy &&... InitVals) 135 : StringMapEntryBase(strLen), second(std::forward<InitTy>(InitVals)...) {} 138 const ValueTy &getValue() const { return second; } 139 ValueTy &getValue() { return second; } 141 void setValue(const ValueTy &V) { second = V; } 158 class StringMapEntry final : public StringMapEntryStorage<ValueTy> { 160 using StringMapEntryStorage<ValueTy>::StringMapEntryStorage; 179 InitTy &&... InitVals) { 192 new (NewItem) StringMapEntry(KeyLength, std::forward<InitTy>(InitVals)...); 204 static StringMapEntry *Create(StringRef Key, InitType &&... InitVal) { 246 using MapEntryTy = StringMapEntry<ValueTy>; 260 StringMap(std::initializer_list<std::pair<StringRef, ValueTy>> List) 330 using mapped_type = ValueTy; 331 using value_type = StringMapEntry<ValueTy>; 334 using const_iterator = StringMapConstIterator<ValueTy>; 335 using iterator = StringMapIterator<ValueTy>; 350 iterator_range<StringMapKeyIterator<ValueTy>> keys() const { 369 ValueTy lookup(StringRef Key) const { 378 ValueTy &operator[](StringRef Key) { return try_emplace(Key).first->second; } 413 std::pair<iterator, bool> insert(std::pair<StringRef, ValueTy> KV) { 420 std::pair<iterator, bool> insert_or_assign(StringRef Key, V &&Val) { 421 auto Ret = try_emplace(Key, std::forward<V>(Val)); 423 Ret.first->second = std::forward<V>(Val); 432 std::pair<iterator, bool> try_emplace(StringRef Key, ArgsTy &&... Args) { 441 Bucket = MapEntryTy::Create(Key, Allocator, std::forward<ArgsTy>(Args)...); 531 : public StringMapIterBase<StringMapConstIterator<ValueTy>, 532 const StringMapEntry<ValueTy>> { 533 using base = StringMapIterBase<StringMapConstIterator<ValueTy>, 534 const StringMapEntry<ValueTy>>; 542 const StringMapEntry<ValueTy> &operator*() const { 548 class StringMapIterator : public StringMapIterBase<StringMapIterator<ValueTy>, 549 StringMapEntry<ValueTy>> { 551 StringMapIterBase<StringMapIterator<ValueTy>, StringMapEntry<ValueTy>>; 551 StringMapIterBase<StringMapIterator<ValueTy>, StringMapEntry<ValueTy>>; 559 StringMapEntry<ValueTy> &operator*() const { 563 operator StringMapConstIterator<ValueTy>() const {unittests/ADT/StringMapTest.cpp
287 StringMap<A> t(0);
usr/include/c++/7.4.0/bits/move.h72 constexpr _Tp&& 73 forward(typename std::remove_reference<_Tp>::type& __t) noexcept 83 constexpr _Tp&& 84 forward(typename std::remove_reference<_Tp>::type&& __t) noexceptusr/include/c++/7.4.0/type_traits
1629 { typedef _Tp type; };