14#ifndef ROOT_RMakeUnique 
   15#define ROOT_RMakeUnique 
   19#if __cplusplus < 201402L && !defined(_MSC_VER) 
   33   using array = std::unique_ptr<T[]>;
 
   35template <
typename T, 
size_t N>
 
   45template <
typename T, 
typename... Args>
 
   48   return std::unique_ptr<T>(
new T(std::forward<Args>(args)...));
 
   57template <
typename T, 
typename... Args>
 
typedef void((*Func_t)())
 
std::unique_ptr< T[]> array
 
std::unique_ptr< T > scalar