|
Krita Source Code Documentation
|
#include <leapfrog.h>
Classes | |
| struct | Cell |
| struct | CellGroup |
| struct | Table |
| class | TableMigration |
Public Types | |
| typedef Map::Hash | Hash |
| enum | InsertResult { InsertResult_AlreadyFound , InsertResult_InsertedNew , InsertResult_Overflow } |
| typedef Map::KeyTraits | KeyTraits |
| typedef Map::Value | Value |
| typedef Map::ValueTraits | ValueTraits |
Public Member Functions | |
| Q_STATIC_ASSERT (CellsInUseSample > 0 &&CellsInUseSample<=LinearSearchLimit) | |
| Q_STATIC_ASSERT (LinearSearchLimit > 0 &&LinearSearchLimit< 256) | |
Static Public Member Functions | |
| static void | beginTableMigration (Map &map, Table *table, quint64 overflowIdx) |
| static void | beginTableMigrationToSize (Map &map, Table *table, quint64 nextTableSize) |
| static Cell * | find (Hash hash, Table *table) |
| static InsertResult | insertOrFind (Hash hash, Table *table, Cell *&cell, quint64 &overflowIdx) |
Static Public Attributes | |
| static const quint64 | CellsInUseSample = LinearSearchLimit |
| static const quint64 | InitialSize = 8 |
| static const quint64 | LinearSearchLimit = 128 |
| static const quint64 | TableMigrationUnitSize = 32 |
Definition at line 21 of file leapfrog.h.
| typedef Map::Hash Leapfrog< Map >::Hash |
Definition at line 22 of file leapfrog.h.
| typedef Map::KeyTraits Leapfrog< Map >::KeyTraits |
Definition at line 24 of file leapfrog.h.
Definition at line 23 of file leapfrog.h.
| typedef Map::ValueTraits Leapfrog< Map >::ValueTraits |
Definition at line 25 of file leapfrog.h.
| enum Leapfrog::InsertResult |
| Enumerator | |
|---|---|
| InsertResult_AlreadyFound | |
| InsertResult_InsertedNew | |
| InsertResult_Overflow | |
Definition at line 194 of file leapfrog.h.
|
inlinestatic |
Definition at line 332 of file leapfrog.h.
References Leapfrog< Map >::beginTableMigrationToSize(), Leapfrog< Map >::CellGroup::cells, Leapfrog< Map >::CellsInUseSample, Leapfrog< Map >::Table::getCellGroups(), Leapfrog< Map >::InitialSize, Atomic< T >::load(), Relaxed, roundUpPowerOf2(), Leapfrog< Map >::Table::sizeMask, Leapfrog< Map >::Cell::value, and value().
|
inlinestatic |
Definition at line 307 of file leapfrog.h.
References Leapfrog< Map >::TableMigration::create(), Leapfrog< Map >::Table::create(), Leapfrog< Map >::Table::getNumMigrationUnits(), Leapfrog< Map >::TableMigration::getSources(), Leapfrog< Map >::Table::jobCoordinator, SimpleJobCoordinator::loadConsume(), Leapfrog< Map >::TableMigration::m_destination, Leapfrog< Map >::TableMigration::m_unitsRemaining, Leapfrog< Map >::Table::mutex, Leapfrog< Map >::TableMigration::Source::sourceIndex, Atomic< T >::storeNonatomic(), SimpleJobCoordinator::storeRelease(), and Leapfrog< Map >::TableMigration::Source::table.
Definition at line 157 of file leapfrog.h.
References Leapfrog< Map >::CellGroup::cells, Leapfrog< Map >::CellGroup::deltas, Leapfrog< Map >::Table::getCellGroups(), Leapfrog< Map >::Cell::hash, KIS_ASSERT_RECOVER_NOOP, Atomic< T >::load(), Relaxed, and Leapfrog< Map >::Table::sizeMask.
|
inlinestatic |
Definition at line 195 of file leapfrog.h.
References Acquire, Leapfrog< Map >::CellGroup::cells, Atomic< T >::compareExchangeStrong(), Leapfrog< Map >::CellGroup::deltas, Leapfrog< Map >::Table::getCellGroups(), Leapfrog< Map >::Cell::hash, Leapfrog< Map >::InsertResult_AlreadyFound, Leapfrog< Map >::InsertResult_InsertedNew, Leapfrog< Map >::InsertResult_Overflow, KIS_ASSERT_RECOVER_NOOP, Leapfrog< Map >::LinearSearchLimit, Atomic< T >::load(), Relaxed, Leapfrog< Map >::Table::sizeMask, and Atomic< T >::store().
| Leapfrog< Map >::Q_STATIC_ASSERT | ( | CellsInUseSample | , |
| 0 &&CellsInUseSample<= | LinearSearchLimit ) |
| Leapfrog< Map >::Q_STATIC_ASSERT | ( | LinearSearchLimit | ) |
|
static |
Definition at line 30 of file leapfrog.h.
|
static |
Definition at line 27 of file leapfrog.h.
|
static |
Definition at line 29 of file leapfrog.h.
|
static |
Definition at line 28 of file leapfrog.h.