24 #ifndef LBCRYPTO_UTILS_MEMORY_H 25 #define LBCRYPTO_UTILS_MEMORY_H 33 using std::unique_ptr;
42 #define _MAKE_UNIQUE(TEMPLATE_LIST, PADDING_LIST, LIST, COMMA, X1, X2, X3, X4) \ 44 template <class T COMMA LIST(_CLASS_TYPE)> \ 45 inline std::unique_ptr<T> make_unique(LIST(_TYPE_REFREF_ARG)) { \ 46 return std::unique_ptr<T>(new T(LIST(_FORWARD_ARG))); \ 48 _VARIADIC_EXPAND_0X(_MAKE_UNIQUE, , , , )
54 template <
typename T,
typename... Args>
55 std::unique_ptr<T> make_unique(Args&&... args) {
56 return std::unique_ptr<T>(
new T(std::forward<Args>(args)...));
62 void MoveAppend(std::vector<X>& dst, std::vector<X>& src) {
66 dst.reserve(dst.size() + src.size());
67 std::move(std::begin(src), std::end(src), std::back_inserter(dst));
74 #endif // LBCRYPTO_UTILS_MEMORY_H Definition: binfhecontext.h:36