insert.h raw
1 // Copyright (c) 2023-present The Bitcoin Core developers
2 // Distributed under the MIT software license, see the accompanying
3 // file COPYING or http://www.opensource.org/licenses/mit-license.php.
4
5 #ifndef BITCOIN_UTIL_INSERT_H
6 #define BITCOIN_UTIL_INSERT_H
7
8 #include <set>
9
10 namespace util {
11
12 //! Simplification of std insertion
13 template <typename Tdst, typename Tsrc>
14 inline void insert(Tdst& dst, const Tsrc& src) {
15 dst.insert(dst.begin(), src.begin(), src.end());
16 }
17 template <typename TsetT, typename Tsrc>
18 inline void insert(std::set<TsetT>& dst, const Tsrc& src) {
19 dst.insert(src.begin(), src.end());
20 }
21
22 template <typename TsetT, typename Compare, typename Tsrc>
23 inline void insert(std::set<TsetT, Compare>& dst, const Tsrc& src) {
24 dst.insert(src.begin(), src.end());
25 }
26
27 } // namespace util
28
29 #endif // BITCOIN_UTIL_INSERT_H
30