9 #ifndef FAIR_MQ_TOOLS_CPPSTL_H 10 #define FAIR_MQ_TOOLS_CPPSTL_H 14 #include <type_traits> 24 template<
typename T,
typename ...Args>
25 std::unique_ptr<T> make_unique(Args&& ...args)
27 return std::unique_ptr<T>(
new T(std::forward<Args>(args)...));
32 std::unique_ptr<T> make_unique(std::size_t size)
34 return std::unique_ptr<T>(
new typename std::remove_extent<T>::type[size]());
38 template<
typename Enum>
41 auto operator()(
const Enum& e)
const noexcept
42 ->
typename std::enable_if<std::is_enum<Enum>::value, std::size_t>::type
44 using _type =
typename std::underlying_type<Enum>::type;
45 return std::hash<_type>{}(
static_cast<_type
>(e));
Tools for interfacing containers to the transport via polymorphic allocators.
Definition: DeviceRunner.h:23