11#ifndef LIBPMEMOBJ_CPP_SPECIALIZATION_HPP
12#define LIBPMEMOBJ_CPP_SPECIALIZATION_HPP
29struct sp_element<T[]> {
33template <
typename T, std::
size_t N>
34struct sp_element<T[N]> {
41struct sp_dereference {
46struct sp_dereference<void> {
51struct sp_dereference<void const> {
56struct sp_dereference<void volatile> {
61struct sp_dereference<void const volatile> {
66struct sp_dereference<T[]> {
70template <
typename T, std::
size_t N>
71struct sp_dereference<T[N]> {
78struct sp_member_access {
83struct sp_member_access<T[]> {
87template <
typename T, std::
size_t N>
88struct sp_member_access<T[N]> {
95struct sp_array_access {
100struct sp_array_access<void> {
101 typedef struct does_not_exist {
106struct sp_array_access<T[]> {
110template <
typename T, std::
size_t N>
111struct sp_array_access<T[N]> {
119 enum _vt { value = 0 };
122template <
typename T, std::
size_t N>
123struct sp_extent<T[N]> {
124 enum _vt { value = N };
Persistent memory namespace.
Definition: allocation_flag.hpp:15