33539cb34b
And use it to reduce chainparamsbase's direct reliance on util.h to only args handling. utilmemory.h can be replaced with <memory> once we move to C++14.
19 lines
544 B
C++
19 lines
544 B
C++
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
|
// Copyright (c) 2009-2018 The Bitcoin Core developers
|
|
// Distributed under the MIT software license, see the accompanying
|
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
|
|
#ifndef BITCOIN_UTILMEMORY_H
|
|
#define BITCOIN_UTILMEMORY_H
|
|
|
|
#include <memory>
|
|
#include <utility>
|
|
|
|
//! Substitute for C++14 std::make_unique.
|
|
template <typename T, typename... Args>
|
|
std::unique_ptr<T> MakeUnique(Args&&... args)
|
|
{
|
|
return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
|
|
}
|
|
|
|
#endif
|