Lines Matching refs:that
4 * Use of this source code is governed by a BSD-style license that can be
32 SkTHashTable(const SkTHashTable& that) { *this = that; }
33 SkTHashTable( SkTHashTable&& that) { *this = std::move(that); }
35 SkTHashTable& operator=(const SkTHashTable& that) {
36 if (this != &that) {
37 fCount = that.fCount;
38 fCapacity = that.fCapacity;
39 fSlots.reset(that.fCapacity);
41 fSlots[i] = that.fSlots[i];
47 SkTHashTable& operator=(SkTHashTable&& that) {
48 if (this != &that) {
49 fCount = that.fCount;
50 fCapacity = that.fCapacity;
51 fSlots = std::move(that.fSlots);
53 that.fCount = that.fCapacity = 0;
64 // How many slots does the table contain? (Note that unlike an array, hash tables can grow
73 // If you change an entry so that it no longer has the same key, all hell
74 // will break loose. Do not do that!
183 bool operator==(const Iter& that) const {
185 SkASSERT(fTable == that.fTable);
186 return fSlot == that.fSlot;
189 bool operator!=(const Iter& that) const {
190 return !(*this == that);
288 // Look for an element that can be moved into the empty slot.
327 Slot(const Slot& that) { *this = that; }
328 Slot& operator=(const Slot& that) {
329 if (this == &that) {
333 if (that.hash) {
334 val.storage = that.val.storage;
335 hash = that.hash;
340 if (that.hash) {
341 new (&val.storage) T(that.val.storage);
342 hash = that.hash;
350 Slot(Slot&& that) { *this = std::move(that); }
351 Slot& operator=(Slot&& that) {
352 if (this == &that) {
356 if (that.hash) {
357 val.storage = std::move(that.val.storage);
358 hash = that.hash;
363 if (that.hash) {
364 new (&val.storage) T(std::move(that.val.storage));
365 hash = that.hash;