Tkrzw
Classes | Namespaces | Functions
tkrzw_containers.h File Reference

Miscellaneous data containers. More...

#include <algorithm>
#include <atomic>
#include <memory>
#include <mutex>
#include <set>
#include <utility>
#include <vector>
#include <cinttypes>
#include <cstring>
#include "tkrzw_lib_common.h"
#include "tkrzw_thread_util.h"

Classes

class  tkrzw::LinkedHashMap< KEYTYPE, VALUETYPE, HASHTYPE, EQUALTOTYPE >
 Doubly-linked hash map. More...
 
struct  tkrzw::LinkedHashMap< KEYTYPE, VALUETYPE, HASHTYPE, EQUALTOTYPE >::Record
 Record data. More...
 
class  tkrzw::LinkedHashMap< KEYTYPE, VALUETYPE, HASHTYPE, EQUALTOTYPE >::ConstIterator
 Const iterator of records. More...
 
class  tkrzw::LinkedHashMap< KEYTYPE, VALUETYPE, HASHTYPE, EQUALTOTYPE >::Iterator
 Iterator of records. More...
 
class  tkrzw::LRUCache< VALUETYPE >
 LRU cache. More...
 
class  tkrzw::LRUCache< VALUETYPE >::Iterator
 Iterator to access each record. More...
 
class  tkrzw::DoubleLRUCache< VALUETYPE >
 Double-layered LRU cache. More...
 
class  tkrzw::DoubleLRUCache< VALUETYPE >::Iterator
 Iterator to access each record. More...
 
class  tkrzw::AtomicSet< VALUETYPE >
 Thread-safe wrapper of std::set. More...
 

Namespaces

 tkrzw
 Common namespace of Tkrzw.
 

Functions

template<typename C , typename T >
void tkrzw::HeapByCostAdd (const C &cost, const T &payload, size_t capacity, std::vector< std::pair< C, T >> *heap)
 Adds a pair of a cont and a payload to a heap vector. More...
 
template<typename C , typename T >
void tkrzw::HeapByCostFinish (std::vector< std::pair< C, T >> *heap)
 Finishes a heap vector to be in sorted order. More...
 

Detailed Description

Miscellaneous data containers.