| 
| 
template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType >  | 
| bool  | operator== (const concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &a, const concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &b) | 
|   | 
| 
template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType >  | 
| bool  | operator!= (const concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &a, const concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &b) | 
|   | 
| 
template<typename Key , typename T , typename Hash , typename KeyEqual , typename MutexType , typename ScopedLockType >  | 
| void  | swap (concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &a, concurrent_hash_map< Key, T, Hash, KeyEqual, MutexType, ScopedLockType > &b) | 
|   | 
| 
template<typename T , typename Policy >  | 
| void  | swap (segment_vector< T, Policy > &lhs, segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator== (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator!= (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator< (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator<= (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator> (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator>= (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator== (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator!= (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator< (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator<= (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator> (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator>= (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator== (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator!= (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator< (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator<= (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator> (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T , typename Policy >  | 
| bool  | operator>= (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs) | 
|   | 
| 
template<typename T >  | 
| void  | swap (vector< T > &lhs, vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator== (const vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator!= (const vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator< (const vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator<= (const vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator> (const vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator>= (const vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator== (const vector< T > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator!= (const vector< T > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator< (const vector< T > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator<= (const vector< T > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator> (const vector< T > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator>= (const vector< T > &lhs, const std::vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator== (const std::vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator!= (const std::vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator< (const std::vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator<= (const std::vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator> (const std::vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| 
template<typename T >  | 
| bool  | operator>= (const std::vector< T > &lhs, const vector< T > &rhs) | 
|   | 
| template<typename T >  | 
| static constexpr std::enable_if< detail::t_is_defragmentable< T >::value, bool >::type  | is_defragmentable () noexcept | 
|   | Checks if provided T type is defragmentable.  More...
  | 
|   | 
| template<typename T >  | 
| static constexpr std::enable_if<!detail::t_is_defragmentable< T >::value, bool >::type  | is_defragmentable () noexcept | 
|   | Checks if provided T type is defragmentable.  More...
  | 
|   | 
| 
template<typename T >  | 
| T  | ctl_get_detail (PMEMobjpool *pool, const std::string &name) | 
|   | 
| 
template<typename T >  | 
| T  | ctl_set_detail (PMEMobjpool *pool, const std::string &name, T arg) | 
|   | 
| 
template<typename T >  | 
| T  | ctl_exec_detail (PMEMobjpool *pool, const std::string &name, T arg) | 
|   | 
| 
template<typename T >  | 
| T  | ctl_get_detail (PMEMobjpool *pool, const std::wstring &name) | 
|   | 
| 
template<typename T >  | 
| T  | ctl_set_detail (PMEMobjpool *pool, const std::wstring &name, T arg) | 
|   | 
| 
template<typename T >  | 
| T  | ctl_exec_detail (PMEMobjpool *pool, const std::wstring &name, T arg) | 
|   | 
| template<typename T , typename... Args>  | 
| detail::pp_if_not_array< T >::type  | make_persistent (allocation_flag flag, Args &&... args) | 
|   | Transactionally allocate and construct an object of type T.  More...
  | 
|   | 
| template<typename T , typename... Args>  | 
| std::enable_if< !detail::is_first_arg_same< allocation_flag, Args... >::value, typename detail::pp_if_not_array< T >::type >::type  | make_persistent (Args &&... args) | 
|   | Transactionally allocate and construct an object of type T.  More...
  | 
|   | 
| template<typename T >  | 
| void  | delete_persistent (typename detail::pp_if_not_array< T >::type ptr) | 
|   | Transactionally free an object of type T held in a persistent_ptr.  More...
  | 
|   | 
| template<typename T >  | 
| detail::pp_if_array< T >::type  | make_persistent (std::size_t N, allocation_flag flag=allocation_flag::none()) | 
|   | Transactionally allocate and construct an array of objects of type T.  More...
  | 
|   | 
| template<typename T >  | 
| detail::pp_if_size_array< T >::type  | make_persistent (allocation_flag flag=allocation_flag::none()) | 
|   | Transactionally allocate and construct an array of objects of type T.  More...
  | 
|   | 
| template<typename T >  | 
| void  | delete_persistent (typename detail::pp_if_array< T >::type ptr, std::size_t N) | 
|   | Transactionally free an array of objects of type T held in a persistent_ptr.  More...
  | 
|   | 
| template<typename T >  | 
| void  | delete_persistent (typename detail::pp_if_size_array< T >::type ptr) | 
|   | Transactionally free an array of objects of type T held in a persistent_ptr.  More...
  | 
|   | 
| template<typename T >  | 
| void  | make_persistent_atomic (pool_base &pool, typename detail::pp_if_array< T >::type &ptr, std::size_t N, allocation_flag_atomic flag=allocation_flag_atomic::none()) | 
|   | Atomically allocate an array of objects.  More...
  | 
|   | 
| template<typename T >  | 
| void  | make_persistent_atomic (pool_base &pool, typename detail::pp_if_size_array< T >::type &ptr, allocation_flag_atomic flag=allocation_flag_atomic::none()) | 
|   | Atomically allocate an array of objects.  More...
  | 
|   | 
| template<typename T >  | 
| void  | delete_persistent_atomic (typename detail::pp_if_array< T >::type &ptr, std::size_t) | 
|   | Atomically deallocate an array of objects.  More...
  | 
|   | 
| template<typename T >  | 
| void  | delete_persistent_atomic (typename detail::pp_if_size_array< T >::type &ptr) | 
|   | Atomically deallocate an array of objects.  More...
  | 
|   | 
| template<typename T , typename... Args>  | 
| void  | make_persistent_atomic (pool_base &pool, typename detail::pp_if_not_array< T >::type &ptr, allocation_flag_atomic flag, Args &&... args) | 
|   | Atomically allocate and construct an object.  More...
  | 
|   | 
| template<typename T , typename... Args>  | 
| std::enable_if<!detail::is_first_arg_same< allocation_flag_atomic, Args... >::value >::type  | make_persistent_atomic (pool_base &pool, typename detail::pp_if_not_array< T >::type &ptr, Args &&... args) | 
|   | Atomically allocate and construct an object.  More...
  | 
|   | 
| template<typename T >  | 
| void  | delete_persistent_atomic (typename detail::pp_if_not_array< T >::type &ptr) noexcept | 
|   | Atomically deallocate an object.  More...
  | 
|   | 
| template<typename T >  | 
| T  | ctl_get (const std::string &name) | 
|   | Query libpmemobj state at global scope.  More...
  | 
|   | 
| template<typename T >  | 
| T  | ctl_set (const std::string &name, T arg) | 
|   | Modify libpmemobj state at global scope.  More...
  | 
|   | 
| template<typename T >  | 
| T  | ctl_exec (const std::string &name, T arg) | 
|   | Execute function at global scope.  More...
  | 
|   | 
| template<typename T >  | 
| T  | ctl_get (const std::wstring &name) | 
|   | Query libpmemobj state at global scope.  More...
  | 
|   | 
| template<typename T >  | 
| T  | ctl_set (const std::wstring &name, T arg) | 
|   | Modify libpmemobj state at global scope.  More...
  | 
|   | 
| template<typename T >  | 
| T  | ctl_exec (const std::wstring &name, T arg) | 
|   | Execute function at global scope.  More...
  | 
|   | 
| template<typename T >  | 
| pool_base  | pool_by_vptr (const T *that) | 
|   | Retrieve pool handle for the given pointer.  More...
  | 
|   | 
| template<typename T >  | 
| pool_base  | pool_by_pptr (const persistent_ptr< T > ptr) | 
|   | Retrieve pool handle for the given persistent_ptr.  More...
  | 
|   |