event-rule: set event rule loglevel to domain specific value when unset
[lttng-tools.git] / src / common / make-unique-wrapper.hpp
index 50d1916f20239624525c5226a926f5e76f58e3af..ebec2ca45d29a908a648d398a5a8dfba516afa9f 100644 (file)
@@ -38,10 +38,9 @@ namespace lttng {
  * a proper, idiomatic, wrapper.
  */
 
-namespace details
-{
+namespace memory {
 template <typename WrappedType, void (*DeleterFunction)(WrappedType *)>
-struct create_unique_class {
+struct create_deleter_class {
        struct deleter {
                void operator()(WrappedType *instance) const
                {
@@ -54,7 +53,7 @@ struct create_unique_class {
                return std::unique_ptr<WrappedType, deleter>(instance);
        }
 };
-} /* namespace details */
+} /* namespace memory */
 
 /*
  * 'free' is a utility function for use with make_unique_wrapper. It makes it easier to
@@ -69,10 +68,11 @@ void free(Type *ptr)
 }
 
 template <typename WrappedType, void (*DeleterFunc)(WrappedType *)>
-std::unique_ptr<WrappedType, typename details::create_unique_class<WrappedType, DeleterFunc>::deleter>
-make_unique_wrapper(WrappedType *instance)
+std::unique_ptr<WrappedType,
+               typename memory::create_deleter_class<WrappedType, DeleterFunc>::deleter>
+make_unique_wrapper(WrappedType *instance = nullptr)
 {
-       const details::create_unique_class<WrappedType, DeleterFunc> unique_deleter;
+       const memory::create_deleter_class<WrappedType, DeleterFunc> unique_deleter;
 
        return unique_deleter(instance);
 }
This page took 0.023246 seconds and 4 git commands to generate.