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.
This commit is contained in:
parent
6fcdb5ebdd
commit
33539cb34b
5 changed files with 24 additions and 10 deletions
|
@ -179,6 +179,7 @@ BITCOIN_CORE_H = \
|
||||||
ui_interface.h \
|
ui_interface.h \
|
||||||
undo.h \
|
undo.h \
|
||||||
util.h \
|
util.h \
|
||||||
|
utilmemory.h \
|
||||||
utilmoneystr.h \
|
utilmoneystr.h \
|
||||||
utiltime.h \
|
utiltime.h \
|
||||||
validation.h \
|
validation.h \
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
|
|
||||||
#include <tinyformat.h>
|
#include <tinyformat.h>
|
||||||
#include <util.h>
|
#include <util.h>
|
||||||
|
#include <utilmemory.h>
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
#include <interfaces/handler.h>
|
#include <interfaces/handler.h>
|
||||||
|
|
||||||
#include <util.h>
|
#include <utilmemory.h>
|
||||||
|
|
||||||
#include <boost/signals2/connection.hpp>
|
#include <boost/signals2/connection.hpp>
|
||||||
#include <utility>
|
#include <utility>
|
||||||
|
|
11
src/util.h
11
src/util.h
|
@ -1,5 +1,5 @@
|
||||||
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
// Copyright (c) 2009-2010 Satoshi Nakamoto
|
||||||
// Copyright (c) 2009-2017 The Bitcoin Core developers
|
// Copyright (c) 2009-2018 The Bitcoin Core developers
|
||||||
// Distributed under the MIT software license, see the accompanying
|
// Distributed under the MIT software license, see the accompanying
|
||||||
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||||
|
|
||||||
|
@ -20,11 +20,11 @@
|
||||||
#include <sync.h>
|
#include <sync.h>
|
||||||
#include <tinyformat.h>
|
#include <tinyformat.h>
|
||||||
#include <utiltime.h>
|
#include <utiltime.h>
|
||||||
|
#include <utilmemory.h>
|
||||||
|
|
||||||
#include <atomic>
|
#include <atomic>
|
||||||
#include <exception>
|
#include <exception>
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <memory>
|
|
||||||
#include <set>
|
#include <set>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
@ -346,13 +346,6 @@ template <typename Callable> void TraceThread(const char* name, Callable func)
|
||||||
|
|
||||||
std::string CopyrightHolders(const std::string& strPrefix);
|
std::string CopyrightHolders(const std::string& strPrefix);
|
||||||
|
|
||||||
//! 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)...));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* On platforms that support it, tell the kernel the calling thread is
|
* On platforms that support it, tell the kernel the calling thread is
|
||||||
* CPU-intensive and non-interactive. See SCHED_BATCH in sched(7) for details.
|
* CPU-intensive and non-interactive. See SCHED_BATCH in sched(7) for details.
|
||||||
|
|
19
src/utilmemory.h
Normal file
19
src/utilmemory.h
Normal file
|
@ -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
|
Loading…
Reference in a new issue