8#ifndef BOTAN_STL_COMPATIBILITY_H_
9#define BOTAN_STL_COMPATIBILITY_H_
11#include <botan/types.h>
14#if __cplusplus < 201402L
29#if __cplusplus >= 201402L
30template <
typename T,
typename ... Args>
33 return std::make_unique<T>(std::forward<Args>(args)...);
39 return std::make_unique<T>(size);
43namespace stlCompatibilityDetails
61template<
class T,
class... Args>
64 return std::unique_ptr<T>(
new T(std::forward<Args>(args)...));
70 typedef typename std::remove_extent<T>::type U;
71 return std::unique_ptr<T>(
new U[n]());
74template<
class T,
class... Args>
#define BOTAN_FUTURE_INTERNAL_HEADER(hdr)
stlCompatibilityDetails::_Unique_if< T >::_Single_object make_unique(Args &&... args)
std::unique_ptr< T[]> _Unknown_bound
std::unique_ptr< T > _Single_object