|
PMDK C++ bindings
1.12-git53.g67ba2be4
This is the C++ bindings documentation for PMDK's libpmemobj.
|
Implementation details. More...
Classes | |
| struct | basic_contiguous_iterator |
| Default non-const iterator which adds element to a transaction on every access. More... | |
| struct | can_do_snapshot |
| A structure that checks if it is possible to snapshot the specified memory. More... | |
| struct | can_do_snapshot< std::atomic< obj::experimental::self_relative_ptr< T > > > |
| can_do_snapshot atomic specialization for self_relative_ptr. More... | |
| class | concurrent_skip_list |
| Persistent memory aware implementation of the concurrent skip list. More... | |
| struct | contiguous_iterator |
| Base class for iterators which satisfies RandomAccessIterator and operate on contiguous memory. More... | |
| class | enumerable_thread_specific |
| Class for storing thread local data. More... | |
| struct | id_manager |
| This structure is used for assigning unique thread ids so that those ids will be reused in case of thread exit. More... | |
| struct | is_bidirectional_iterator |
| Type trait to determine if a given parameter type satisfies requirements of BidirectionalIterator. More... | |
| struct | is_forward_iterator |
| Type trait to determine if a given parameter type satisfies requirements of ForwardIterator. More... | |
| struct | is_input_iterator |
| Type trait to determine if a given parameter type satisfies requirements of InputIterator. More... | |
| struct | is_output_iterator |
| Type trait to determine if a given parameter type satisfies requirements of OutputIterator. More... | |
| struct | is_random_access_iterator |
| Type trait to determine if a given parameter type satisfies requirements of RandomAccessIterator. More... | |
| struct | range_snapshotting_iterator |
| Non-const iterator which adds elements to a transaction in a bulk. More... | |
| class | self_relative_accessor |
| Static class accesssor to self_relative_ptr_base. More... | |
| class | self_relative_ptr_base_impl |
| self_relative_ptr base template class More... | |
| struct | thread_id_type |
| RAII-style structure for holding thread id. More... | |
| class | transaction_base |
| Common functionality for basic_transaction and flat_transaction. More... | |
| class | volatile_state |
| Global key value store which allows persistent objects to use volatile memory. More... | |
Functions | |
| template<typename MyAlloc , typename OtherAlloc > | |
| void | allocator_copy_assignment (MyAlloc &my_allocator, OtherAlloc &other_allocator, std::true_type) |
| Copy assignment implementation for allocator if propagate_on_container_copy_assignment == true_type. | |
| template<typename MyAlloc , typename OtherAlloc > | |
| void | allocator_copy_assignment (MyAlloc &, OtherAlloc &, std::false_type) |
| Copy assignment implementation for allocator if propagate_on_container_copy_assignment == false_type. | |
| template<typename MyAlloc , typename OtherAlloc > | |
| void | allocator_move_assignment (MyAlloc &my_allocator, OtherAlloc &other_allocator, std::true_type) |
| Move assignment implementation for allocator if propagate_on_container_move_assignment == true_type. | |
| template<typename MyAlloc , typename OtherAlloc > | |
| void | allocator_move_assignment (MyAlloc &, OtherAlloc &, std::false_type) |
| Move assignment implementation for allocator if propagate_on_container_move_assignment == false_type. | |
| template<typename MyAlloc , typename OtherAlloc > | |
| void | allocator_swap (MyAlloc &my_allocator, OtherAlloc &other_allocator, std::true_type) |
| Swap implementation for allocators if propagate_on_container_swap == true_type. | |
| template<typename MyAlloc , typename OtherAlloc > | |
| void | allocator_swap (MyAlloc &, OtherAlloc &, std::false_type) |
| Swap implementation for allocators if propagate_on_container_swap == false_type. | |
| uint64_t | next_pow_2 (uint64_t v) |
| Round up to the next lowest power of 2. More... | |
| uint64_t | next_pow_2 (uint32_t v) |
| Round up to the next lowest power of 2. More... | |
| template<typename Clock , typename Duration = typename Clock::duration> | |
| timespec | timepoint_to_timespec (const std::chrono::time_point< Clock, Duration > &timepoint) |
| Convert std::chrono::time_point to posix timespec. More... | |
| template<typename T , typename Y > | |
| bool | operator== (const persistent_pool_ptr< T > &lhs, const persistent_pool_ptr< Y > &rhs) noexcept |
| Equality operator. More... | |
| template<typename T , typename Y > | |
| bool | operator!= (const persistent_pool_ptr< T > &lhs, const persistent_pool_ptr< Y > &rhs) noexcept |
| Inequality operator. | |
| template<typename T > | |
| bool | operator!= (const persistent_pool_ptr< T > &lhs, std::nullptr_t) noexcept |
| Inequality operator with nullptr. | |
| template<typename T > | |
| bool | operator!= (std::nullptr_t, const persistent_pool_ptr< T > &lhs) noexcept |
| Inequality operator with nullptr. | |
| template<typename T > | |
| bool | operator== (const persistent_pool_ptr< T > &lhs, std::nullptr_t) noexcept |
| Equality operator with nullptr. | |
| template<typename T > | |
| bool | operator== (std::nullptr_t, const persistent_pool_ptr< T > &lhs) noexcept |
| Equality operator with nullptr. | |
| std::string | errormsg (void) |
| Return last libpmemobj error message as a std::string. | |
Implementation details.
It contains libpmemobj's implementation details, not needed in public headers. It is located within pmem namespace.
|
inline |
Round up to the next lowest power of 2.
Overload for uint32_t argument.
|
inline |
Round up to the next lowest power of 2.
Overload for uint64_t argument.
|
inlinenoexcept |
Equality operator.
This checks if underlying PMEMoids are equal.
| timespec pmem::detail::timepoint_to_timespec | ( | const std::chrono::time_point< Clock, Duration > & | timepoint | ) |
Convert std::chrono::time_point to posix timespec.
| [in] | timepoint | point in time to be converted. |