PMDK C++ bindings  1.13.0-git107.g7e59f08f
This is the C++ bindings documentation for PMDK's libpmemobj.
defrag.hpp File Reference

Defragmentation class. More...

#include <type_traits>
#include <vector>
#include <libpmemobj++/detail/template_helpers.hpp>
#include <libpmemobj++/persistent_ptr_base.hpp>
#include <libpmemobj++/pool.hpp>
#include <libpmemobj/atomic_base.h>
#include <libpmemobj/base.h>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  pmem::obj::defrag
 Defrag class. More...
 

Namespaces

 pmem
 Persistent memory namespace.
 
 pmem::detail
 Implementation details.
 
 pmem::obj
 Main libpmemobj namespace.
 

Typedefs

using pmem::detail::for_each_ptr_function = void(*)(obj::persistent_ptr_base &ptr)
 
template<typename T >
using pmem::detail::t_has_for_each_ptr = typename std::enable_if< std::is_same< decltype(std::declval< T >().for_each_ptr(std::declval< for_each_ptr_function >())), void >::value >::type
 
template<typename T >
using pmem::detail::t_is_defragmentable = supports< T, t_has_for_each_ptr >
 

Functions

template<typename T >
static constexpr std::enable_if< detail::t_is_defragmentable< T >::value, bool >::type pmem::obj::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 pmem::obj::is_defragmentable () noexcept
 Checks if provided T type is defragmentable. More...
 

Detailed Description

Defragmentation class.