PMDK C++ bindings  1.13.0-git107.g7e59f08f
This is the C++ bindings documentation for PMDK's libpmemobj.
pmem::obj::standard_alloc_policy< void > Class Reference

Void specialization of the standard allocation policy. More...

#include <libpmemobj++/allocator.hpp>

Classes

struct  rebind
 Rebind to a different type. More...
 

Public Types

using value_type = void
 
using pointer = persistent_ptr< value_type >
 
using const_pointer = persistent_ptr< const value_type >
 
using reference = value_type
 
using const_reference = const value_type
 
using size_type = std::size_t
 
using bool_type = bool
 

Public Member Functions

 standard_alloc_policy ()=default
 Defaulted constructor.
 
 ~standard_alloc_policy ()=default
 Defaulted destructor.
 
 standard_alloc_policy (standard_alloc_policy const &)
 Explicit copy constructor.
 
template<typename U >
 standard_alloc_policy (standard_alloc_policy< U > const &)
 Type converting constructor.
 
pointer allocate (size_type cnt, const_pointer=0)
 Allocate storage for cnt bytes. More...
 
void deallocate (pointer p, size_type=0)
 Deallocates storage pointed to p, which must be a value returned by a previous call to allocate that has not been invalidated by an intervening call to deallocate. More...
 
size_type max_size () const
 The largest value that can meaningfully be passed to allocate(). More...
 

Detailed Description

Void specialization of the standard allocation policy.

Member Function Documentation

◆ allocate()

pointer pmem::obj::standard_alloc_policy< void >::allocate ( size_type  cnt,
const_pointer  = 0 
)
inline

Allocate storage for cnt bytes.

Assumes sizeof(void) = 1.

Parameters
[in]cntthe number of bytes to be allocated.
Exceptions
transaction_scope_errorif called outside of an active transaction.
transaction_out_of_memoryif there is no free memory of requested size.
transaction_alloc_erroron transactional allocation failure.

◆ deallocate()

void pmem::obj::standard_alloc_policy< void >::deallocate ( pointer  p,
size_type  = 0 
)
inline

Deallocates storage pointed to p, which must be a value returned by a previous call to allocate that has not been invalidated by an intervening call to deallocate.

Parameters
[in]ppointer to the memory to be deallocated.
Exceptions
transaction_scope_errorif called outside of an active transaction.
transaction_free_erroron transactional free failure.

◆ max_size()

size_type pmem::obj::standard_alloc_policy< void >::max_size ( ) const
inline

The largest value that can meaningfully be passed to allocate().

Returns
largest value that can be passed to allocate.

The documentation for this class was generated from the following file: