12 #if __cplusplus >= 201103L
15 # include "../internal/helpers.h"
20 template <
class t_Value>
24 typedef std::shared_ptr<t_Value> Pointer;
25 typedef t_Value Value;
29 static void allocate(Pointer &ptr)
31 ptr = std::make_shared<t_Value>();
34 static void reset(Pointer &ptr)
39 static bool isNull(
const Pointer &ptr)
46 template <
class t_Value>
50 typedef std::unique_ptr<t_Value> Pointer;
51 typedef t_Value Value;
55 static void allocate(Pointer &ptr)
57 ptr.reset(
new t_Value);
60 static void reset(Pointer &ptr)
65 static bool isNull(
const Pointer &ptr)
72 # define ARILES2_POINTER_TYPE std::shared_ptr
76 # define ARILES2_POINTER_TYPE std::unique_ptr