mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Data Structures | Namespaces | Typedefs
Pool.hpp File Reference
#include <functional>
#include <mutable/util/fn.hpp>
#include <mutable/util/macro.hpp>
#include <mutable/util/OptField.hpp>
#include <mutable/util/reader_writer_lock.hpp>
#include <type_traits>
#include <unordered_map>
#include <utility>
Include dependency graph for Pool.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  m::PODPool< T, Hash, KeyEqual, Copy, ThreadSafe >
 The PODPool implements an implicitly garbage-collected set of pooled (or internalized) POD struct entities. More...
 
struct  m::Pool< T, Hash, KeyEqual, ThreadSafe >
 A pool implements an implicitly garbage-collected set of instances of a class hierarchy. More...
 
struct  m::Pool< T, Hash, KeyEqual, ThreadSafe >::dereference_hash
 
struct  m::Pool< T, Hash, KeyEqual, ThreadSafe >::dereference_equal_to
 
struct  m::Pooled< T, Pool, CanBeNone >
 A data type representing a pooled (or internalized) object. More...
 
struct  m::StrClone
 
struct  m::detail::_StringPool< ThreadSafe >
 Explicit specialization of PODPool for strings (const char *). More...
 
struct  std::std::hash< m::Pooled< T, Pool, CanBeNone > >
 

Namespaces

namespace  m
 

‍mutable namespace


 
namespace  m::detail
 
namespace  std
 STL namespace.
 

Typedefs

template<typename T , typename Hash = std::hash<T>, typename KeyEqual = std::equal_to<T>, typename Copy = std::identity>
using m::ThreadSafePODPool = PODPool< T, Hash, KeyEqual, Copy, true >
 
template<typename T , typename Hash = std::hash<T>, typename KeyEqual = std::equal_to<T>>
using m::ThreadSafePool = Pool< T, Hash, KeyEqual, true >
 
using m::ThreadSafeStringPool = detail::_StringPool< true >
 
using m::ThreadSafePooledString = ThreadSafeStringPool::proxy_type
 
using m::ThreadSafePooledOptionalString = ThreadSafeStringPool::proxy_optional_type
 
using m::StringPool = detail::_StringPool< false >
 
using m::PooledString = StringPool::proxy_type
 
using m::PooledOptionalString = StringPool::proxy_optional_type