mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-08 22:57:56 +02:00
before #25806, set<COutput> was used and would not contain same COutputs in the set. now we use set<shared_ptr<COutput>> and it might be possible for 2 distinct shared_ptr (different pointer address but same COutputs) to be added into the set. so preserve previous behaviour by making sure values in the set are also distinct
30 lines
841 B
C++
30 lines
841 B
C++
// Copyright (c) 2023-present 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_UTIL_INSERT_H
|
|
#define BITCOIN_UTIL_INSERT_H
|
|
|
|
#include <set>
|
|
|
|
namespace util {
|
|
|
|
//! Simplification of std insertion
|
|
template <typename Tdst, typename Tsrc>
|
|
inline void insert(Tdst& dst, const Tsrc& src) {
|
|
dst.insert(dst.begin(), src.begin(), src.end());
|
|
}
|
|
template <typename TsetT, typename Tsrc>
|
|
inline void insert(std::set<TsetT>& dst, const Tsrc& src) {
|
|
dst.insert(src.begin(), src.end());
|
|
}
|
|
|
|
template <typename TsetT, typename Compare, typename Tsrc>
|
|
inline void insert(std::set<TsetT, Compare>& dst, const Tsrc& src) {
|
|
dst.insert(src.begin(), src.end());
|
|
}
|
|
|
|
} // namespace util
|
|
|
|
#endif // BITCOIN_UTIL_INSERT_H
|