diff options
author | Ben Woosley <ben.woosley@gmail.com> | 2018-07-12 00:39:40 -0400 |
---|---|---|
committer | Ben Woosley <ben.woosley@gmail.com> | 2018-07-17 13:56:21 -0400 |
commit | 33539cb34b8f59b65387c142a46744fc83d3ed31 (patch) | |
tree | da44a7b47dcba82cb74aaa4652b14ee153a41d77 /src/utilmemory.h | |
parent | 6fcdb5ebdd71b8b0fed3df0fd6aa3639bcb87a0b (diff) |
Extract MakeUnique into utilmemory.h
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.
Diffstat (limited to 'src/utilmemory.h')
-rw-r--r-- | src/utilmemory.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/utilmemory.h b/src/utilmemory.h new file mode 100644 index 0000000000..e71fe92284 --- /dev/null +++ b/src/utilmemory.h @@ -0,0 +1,19 @@ +// 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 |