Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
skia_private::THashSet< T, HashT > Class Template Reference

#include <SkTHash.h>

Public Types

using Iter = typename THashTable< T, T, Traits >::template Iter< T >
 

Public Member Functions

 THashSet ()=default
 
 THashSet (THashSet< T, HashT > &&that)=default
 
 THashSet (const THashSet< T, HashT > &that)=default
 
THashSet< T, HashT > & operator= (THashSet< T, HashT > &&that)=default
 
THashSet< T, HashT > & operator= (const THashSet< T, HashT > &that)=default
 
 THashSet (std::initializer_list< T > vals)
 
void reset ()
 
int count () const
 
bool empty () const
 
size_t approxBytesUsed () const
 
void add (T item)
 
bool contains (const T &item) const
 
const Tfind (const T &item) const
 
void remove (const T &item)
 
template<typename Fn >
void foreach (Fn &&fn) const
 
Iter begin () const
 
Iter end () const
 

Detailed Description

template<typename T, typename HashT = SkGoodHash>
class skia_private::THashSet< T, HashT >

Definition at line 541 of file SkTHash.h.

Member Typedef Documentation

◆ Iter

template<typename T , typename HashT = SkGoodHash>
using skia_private::THashSet< T, HashT >::Iter = typename THashTable<T, T, Traits>::template Iter<T>

Definition at line 601 of file SkTHash.h.

Constructor & Destructor Documentation

◆ THashSet() [1/4]

template<typename T , typename HashT = SkGoodHash>
skia_private::THashSet< T, HashT >::THashSet ( )
default

◆ THashSet() [2/4]

template<typename T , typename HashT = SkGoodHash>
skia_private::THashSet< T, HashT >::THashSet ( THashSet< T, HashT > &&  that)
default

◆ THashSet() [3/4]

template<typename T , typename HashT = SkGoodHash>
skia_private::THashSet< T, HashT >::THashSet ( const THashSet< T, HashT > &  that)
default

◆ THashSet() [4/4]

template<typename T , typename HashT = SkGoodHash>
skia_private::THashSet< T, HashT >::THashSet ( std::initializer_list< T vals)
inline

Definition at line 553 of file SkTHash.h.

553 {
554 fTable.resize(vals.size() * 5 / 3);
555 for (const T& val : vals) {
556 fTable.set(val);
557 }
558 }
void resize(int capacity)
Definition SkTHash.h:152
#define T

Member Function Documentation

◆ add()

template<typename T , typename HashT = SkGoodHash>
void skia_private::THashSet< T, HashT >::add ( T  item)
inline

Definition at line 573 of file SkTHash.h.

573{ fTable.set(std::move(item)); }

◆ approxBytesUsed()

template<typename T , typename HashT = SkGoodHash>
size_t skia_private::THashSet< T, HashT >::approxBytesUsed ( ) const
inline

Definition at line 570 of file SkTHash.h.

570{ return fTable.approxBytesUsed(); }
size_t approxBytesUsed() const
Definition SkTHash.h:74

◆ begin()

template<typename T , typename HashT = SkGoodHash>
Iter skia_private::THashSet< T, HashT >::begin ( ) const
inline

Definition at line 603 of file SkTHash.h.

603 {
604 return Iter::MakeBegin(&fTable);
605 }

◆ contains()

template<typename T , typename HashT = SkGoodHash>
bool skia_private::THashSet< T, HashT >::contains ( const T item) const
inline

Definition at line 576 of file SkTHash.h.

576{ return SkToBool(this->find(item)); }
static constexpr bool SkToBool(const T &x)
Definition SkTo.h:35
const T * find(const T &item) const
Definition SkTHash.h:580

◆ count()

template<typename T , typename HashT = SkGoodHash>
int skia_private::THashSet< T, HashT >::count ( ) const
inline

Definition at line 564 of file SkTHash.h.

564{ return fTable.count(); }

◆ empty()

template<typename T , typename HashT = SkGoodHash>
bool skia_private::THashSet< T, HashT >::empty ( ) const
inline

Definition at line 567 of file SkTHash.h.

567{ return fTable.count() == 0; }

◆ end()

template<typename T , typename HashT = SkGoodHash>
Iter skia_private::THashSet< T, HashT >::end ( ) const
inline

Definition at line 607 of file SkTHash.h.

607 {
608 return Iter::MakeEnd(&fTable);
609 }

◆ find()

template<typename T , typename HashT = SkGoodHash>
const T * skia_private::THashSet< T, HashT >::find ( const T item) const
inline

Definition at line 580 of file SkTHash.h.

580{ return fTable.find(item); }
T * find(const K &key) const
Definition SkTHash.h:96

◆ foreach()

template<typename T , typename HashT = SkGoodHash>
template<typename Fn >
void skia_private::THashSet< T, HashT >::foreach ( Fn &&  fn) const
inline

Definition at line 590 of file SkTHash.h.

590 {
591 fTable.foreach(fn);
592 }
void foreach(Fn &&fn)
Definition SkTHash.h:173

◆ operator=() [1/2]

template<typename T , typename HashT = SkGoodHash>
THashSet< T, HashT > & skia_private::THashSet< T, HashT >::operator= ( const THashSet< T, HashT > &  that)
default

◆ operator=() [2/2]

template<typename T , typename HashT = SkGoodHash>
THashSet< T, HashT > & skia_private::THashSet< T, HashT >::operator= ( THashSet< T, HashT > &&  that)
default

◆ remove()

template<typename T , typename HashT = SkGoodHash>
void skia_private::THashSet< T, HashT >::remove ( const T item)
inline

Definition at line 583 of file SkTHash.h.

583 {
584 SkASSERT(this->contains(item));
585 fTable.remove(item);
586 }
#define SkASSERT(cond)
Definition SkAssert.h:116
bool contains(const T &item) const
Definition SkTHash.h:576
void remove(const K &key)
Definition SkTHash.h:146

◆ reset()

template<typename T , typename HashT = SkGoodHash>
void skia_private::THashSet< T, HashT >::reset ( )
inline

Definition at line 561 of file SkTHash.h.

561{ fTable.reset(); }

The documentation for this class was generated from the following file: