PMDK C++ bindings  1.9.1
This is the C++ bindings documentation for PMDK's libpmemobj.
Classes | Namespaces | Typedefs | Functions
segment_vector.hpp File Reference

A persistent version of segment vector implementation. More...

#include <libpmemobj++/container/array.hpp>
#include <libpmemobj++/container/detail/segment_vector_policies.hpp>
#include <libpmemobj++/container/vector.hpp>
#include <libpmemobj++/detail/common.hpp>
#include <libpmemobj++/detail/life.hpp>
#include <libpmemobj++/detail/temp_value.hpp>
#include <libpmemobj++/detail/template_helpers.hpp>
#include <libpmemobj++/make_persistent.hpp>
#include <libpmemobj++/persistent_ptr.hpp>
#include <libpmemobj++/pext.hpp>
#include <libpmemobj++/transaction.hpp>
#include <vector>

Go to the source code of this file.

Classes

class  pmem::obj::segment_vector_internal::segment_iterator< Container, is_const >
 Iterator for segment_vector Since a constant iterator differs only in the type of references and pointers returned by methods, is_const template parameter is responsible for the differences between constant and non-constant iterators. More...
 
class  pmem::obj::segment_vector< T, Policy >
 Segment table is a data type with a vector-like interface The difference is that it does not do reallocations and iterators are not invalidated when adding new elements. More...
 

Namespaces

 pmem
 Persistent memory namespace.
 
 pmem::obj
 Main libpmemobj namespace.
 

Typedefs

template<template< typename > class SegmentType = pmem::obj::vector>
using pmem::obj::exponential_size_array_policy = segment_vector_internal::exponential_size_policy< segment_vector_internal::array_64, SegmentType >
 Exponential size policy with pmemobj array of size 64 as a type of segment vector, so this is a static array of segments and each segment is of SegmentType. More...
 
template<size_t SegmentSize = 1024, template< typename > class SegmentType = pmem::obj::vector>
using pmem::obj::fixed_size_vector_policy = segment_vector_internal::fixed_size_policy< pmem::obj::vector, SegmentType, SegmentSize >
 Fixed size policy with pmemobj vector of a given size as a type of segment vector, so this is a dynamic vector of segments and each segment is of SegmentType. More...
 
template<template< typename > class SegmentType = pmem::obj::vector>
using pmem::obj::exponential_size_vector_policy = segment_vector_internal::exponential_size_policy< pmem::obj::vector, SegmentType >
 Exponential size policy with pmemobj vector as a type of segment vector, so this is a dynamic vector of segments and each segment is of SegmentType. More...
 

Functions

template<typename T , typename Policy >
void pmem::obj::swap (segment_vector< T, Policy > &lhs, segment_vector< T, Policy > &rhs)
 Swaps the contents of lhs and rhs. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator== (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator!= (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator< (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator<= (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator> (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator>= (const segment_vector< T, Policy > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator== (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator!= (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator< (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator<= (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator> (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator>= (const segment_vector< T, Policy > &lhs, const std::vector< T > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator== (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator!= (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator< (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator<= (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator> (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 
template<typename T , typename Policy >
bool pmem::obj::operator>= (const std::vector< T > &lhs, const segment_vector< T, Policy > &rhs)
 Comparison operator. More...
 

Detailed Description

A persistent version of segment vector implementation.