Ptex
|
#include <PtexHashMap.h>
Classes | |
class | Entry |
Public Member Functions | |
PtexHashMap () | |
~PtexHashMap () | |
void | clear () |
uint32_t | size () const |
Value | get (Key &key) |
Value | tryInsert (Key &key, Value value, size_t &newMemUsed) |
template<typename Fn > | |
void | foreach (Fn &fn) |
Private Member Functions | |
PtexHashMap (const PtexHashMap &) | |
void | operator= (const PtexHashMap &) |
void | initContents () |
void | deleteContents () |
Entry * | getEntries () |
Entry * | lockEntries () |
void | unlockEntries (Entry *entries) |
Entry * | lockEntriesAndGrowIfNeeded (size_t &newMemUsed) |
Entry * | grow (Entry *oldEntries, size_t &newMemUsed) |
Private Attributes | |
Entry *volatile | _entries |
uint32_t volatile | _numEntries |
uint32_t volatile | _size |
std::vector< Entry * > | _oldEntries |
Definition at line 151 of file PtexHashMap.h.
|
private |
|
inline |
Definition at line 185 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::initContents().
|
inline |
Definition at line 190 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::deleteContents().
|
inline |
Definition at line 195 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::deleteContents(), and PtexHashMap< Key, Value >::initContents().
Referenced by PtexReader::prune().
|
inlineprivate |
Definition at line 172 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_entries, PtexHashMap< Key, Value >::_numEntries, PtexHashMap< Key, Value >::_oldEntries, and PtexHashMap< Key, Value >::Entry::value.
Referenced by PtexHashMap< Key, Value >::clear(), and PtexHashMap< Key, Value >::~PtexHashMap().
|
inline |
Definition at line 252 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_numEntries, PtexHashMap< Key, Value >::getEntries(), and PtexHashMap< Key, Value >::Entry::value.
Referenced by PtexReaderCache::purgeAll().
|
inline |
Definition at line 203 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_numEntries, PtexHashMap< Key, Value >::getEntries(), PtexHashMap< Key, Value >::Entry::key, and PtexHashMap< Key, Value >::Entry::value.
Referenced by PtexReaderCache::get(), PtexReader::getData(), and PtexReaderCache::purge().
|
inlineprivate |
Definition at line 262 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_entries.
Referenced by PtexHashMap< Key, Value >::foreach(), and PtexHashMap< Key, Value >::get().
|
inlineprivate |
Definition at line 294 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_numEntries, PtexHashMap< Key, Value >::_oldEntries, PtexHashMap< Key, Value >::Entry::key, and PtexHashMap< Key, Value >::Entry::value.
Referenced by PtexHashMap< Key, Value >::lockEntriesAndGrowIfNeeded().
|
inlineprivate |
Definition at line 165 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_entries, PtexHashMap< Key, Value >::_numEntries, and PtexHashMap< Key, Value >::_size.
Referenced by PtexHashMap< Key, Value >::clear(), and PtexHashMap< Key, Value >::PtexHashMap().
|
inlineprivate |
Definition at line 270 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_entries, and AtomicCompareAndSwap().
Referenced by PtexHashMap< Key, Value >::lockEntriesAndGrowIfNeeded().
|
inlineprivate |
Definition at line 285 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_numEntries, PtexHashMap< Key, Value >::_size, PtexHashMap< Key, Value >::grow(), and PtexHashMap< Key, Value >::lockEntries().
Referenced by PtexHashMap< Key, Value >::tryInsert().
|
private |
|
inline |
Definition at line 201 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_size.
Referenced by PtexReaderCache::getStats().
|
inline |
Definition at line 224 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_numEntries, PtexHashMap< Key, Value >::_size, PtexHashMap< Key, Value >::Entry::key, PtexHashMap< Key, Value >::lockEntriesAndGrowIfNeeded(), PtexMemoryFence(), PtexHashMap< Key, Value >::unlockEntries(), and PtexHashMap< Key, Value >::Entry::value.
Referenced by PtexReaderCache::get(), and PtexReader::getData().
|
inlineprivate |
Definition at line 280 of file PtexHashMap.h.
References PtexHashMap< Key, Value >::_entries, and AtomicStore().
Referenced by PtexHashMap< Key, Value >::tryInsert().
|
private |
Definition at line 318 of file PtexHashMap.h.
Referenced by PtexHashMap< Key, Value >::deleteContents(), PtexHashMap< Key, Value >::getEntries(), PtexHashMap< Key, Value >::initContents(), PtexHashMap< Key, Value >::lockEntries(), and PtexHashMap< Key, Value >::unlockEntries().
|
private |
Definition at line 319 of file PtexHashMap.h.
Referenced by PtexHashMap< Key, Value >::deleteContents(), PtexHashMap< Key, Value >::foreach(), PtexHashMap< Key, Value >::get(), PtexHashMap< Key, Value >::grow(), PtexHashMap< Key, Value >::initContents(), PtexHashMap< Key, Value >::lockEntriesAndGrowIfNeeded(), and PtexHashMap< Key, Value >::tryInsert().
|
private |
Definition at line 321 of file PtexHashMap.h.
Referenced by PtexHashMap< Key, Value >::deleteContents(), and PtexHashMap< Key, Value >::grow().
|
private |
Definition at line 320 of file PtexHashMap.h.
Referenced by PtexHashMap< Key, Value >::initContents(), PtexHashMap< Key, Value >::lockEntriesAndGrowIfNeeded(), PtexHashMap< Key, Value >::size(), and PtexHashMap< Key, Value >::tryInsert().