PMDK C++ bindings
1.12-git53.g67ba2be4
This is the C++ bindings documentation for PMDK's libpmemobj.
Main Page
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
m
n
o
p
r
s
t
Functions
a
b
c
d
e
g
m
n
o
p
r
s
t
Typedefs
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
~
Functions
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
~
Variables
Typedefs
Enumerations
Related Functions
Files
File List
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Friends
Pages
libpmemobj++
detail
check_persistent_ptr_array.hpp
Go to the documentation of this file.
1
// SPDX-License-Identifier: BSD-3-Clause
2
/* Copyright 2016-2018, Intel Corporation */
3
9
#ifndef LIBPMEMOBJ_CPP_CHECK_PERSISTENT_PTR_ARRAY_HPP
10
#define LIBPMEMOBJ_CPP_CHECK_PERSISTENT_PTR_ARRAY_HPP
11
12
#include <cstddef>
13
14
#include <
libpmemobj++/persistent_ptr.hpp
>
15
16
namespace
pmem
17
{
18
19
namespace
detail
20
{
21
22
/*
23
* Typedef checking if given type is not an array.
24
*/
25
template
<
typename
T>
26
struct
pp_if_not_array {
27
typedef
obj::persistent_ptr<T> type;
28
};
29
30
/*
31
* Typedef checking if given type is not an array.
32
*/
33
template
<
typename
T>
34
struct
pp_if_not_array<T[]> {
35
};
36
37
/*
38
* Typedef checking if given type is not an array.
39
*/
40
template
<
typename
T,
size_t
N>
41
struct
pp_if_not_array<T[N]> {
42
};
43
44
/*
45
* Typedef checking if given type is an array.
46
*/
47
template
<
typename
T>
48
struct
pp_if_array;
49
50
/*
51
* Typedef checking if given type is an array.
52
*/
53
template
<
typename
T>
54
struct
pp_if_array<T[]> {
55
typedef
obj::persistent_ptr<T[]> type;
56
};
57
58
/*
59
* Typedef checking if given type is an array.
60
*/
61
template
<
typename
T>
62
struct
pp_if_size_array;
63
64
/*
65
* Typedef checking if given type is an array.
66
*/
67
template
<
typename
T,
size_t
N>
68
struct
pp_if_size_array<T[N]> {
69
typedef
obj::persistent_ptr<T[N]> type;
70
};
71
72
}
/* namespace detail */
73
74
}
/* namespace pmem */
75
76
#endif
/* LIBPMEMOBJ_CPP_CHECK_PERSISTENT_PTR_ARRAY_HPP */
pmem
Persistent memory namespace.
Definition:
allocation_flag.hpp:15
persistent_ptr.hpp
Persistent smart pointer.
Generated by
1.8.20