libcarla/include/system/rpc/detail/make_unique.h
2024-10-18 13:19:59 +08:00

32 lines
541 B
C++

#pragma once
#ifndef MAKE_UNIQUE_H_FOOBAR
#define MAKE_UNIQUE_H_FOOBAR
#include <memory>
namespace rpc {
namespace detail {
// Default behaviour is to assume C++11, overriding RPCLIB_CXX_STANDARD can use
// newer standards:
#if RPCLIB_CXX_STANDARD >= 14
using std::make_unique;
#else
template<typename T, typename... Ts>
std::unique_ptr<T> make_unique(Ts&&... params)
{
return std::unique_ptr<T>(new T(std::forward<Ts>(params)...));
}
#endif
} /* detail */
} /* rpc */
#endif /* end of include guard: MAKE_UNIQUE_H_FOOBAR */