#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>
Go to the source code of this file.
|
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 > > |
|
|
namespace | m |
|
mutable namespace
|
|
namespace | m::detail |
|
namespace | std |
| STL namespace.
|
|
|
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 |
|