13#ifndef RooFit_Config_h
14#define RooFit_Config_h
22#ifdef ROOFIT_MEMORY_SAFE_INTERFACES
23#ifndef ROOFIT_OWNING_PTR_IS_UNIQUE_PTR
24#define ROOFIT_OWNING_PTR_IS_UNIQUE_PTR
40#ifdef ROOFIT_OWNING_PTR_IS_UNIQUE_PTR
50OwningPtr<T>
owningPtr(std::unique_ptr<T> &&ptr)
52#ifdef ROOFIT_OWNING_PTR_IS_UNIQUE_PTR
53 return std::move(ptr);
60template <
typename T,
typename U>
61OwningPtr<T>
owningPtr(std::unique_ptr<U> &&ptr)
63#ifdef ROOFIT_OWNING_PTR_IS_UNIQUE_PTR
64 return std::unique_ptr<T>{
static_cast<T *
>(ptr.release())};
66 return static_cast<T *
>(ptr.release());
OwningPtr< T > owningPtr(std::unique_ptr< T > &&ptr)
Internal helper to turn a std::unique_ptr<T> into an OwningPtr.
The namespace RooFit contains mostly switches that change the behaviour of functions of PDFs (or othe...
T * OwningPtr
An alias for raw pointers for indicating that the return type of a RooFit function is an owning point...