/Users/mcomp/contrib/bitcoin/src/util/string.h
Line | Count | Source (jump to first uncovered line) |
1 | | // Copyright (c) 2019-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_STRING_H |
6 | | #define BITCOIN_UTIL_STRING_H |
7 | | |
8 | | #include <span.h> |
9 | | |
10 | | #include <array> |
11 | | #include <cstdint> |
12 | | #include <cstring> |
13 | | #include <locale> |
14 | | #include <sstream> |
15 | | #include <string> // IWYU pragma: export |
16 | | #include <string_view> // IWYU pragma: export |
17 | | #include <vector> |
18 | | |
19 | | namespace util { |
20 | | namespace detail { |
21 | | template <unsigned num_params> |
22 | | constexpr static void CheckNumFormatSpecifiers(const char* str) |
23 | 0 | { |
24 | 0 | unsigned count_normal{0}; // Number of "normal" specifiers, like %s |
25 | 0 | unsigned count_pos{0}; // Max number in positional specifier, like %8$s |
26 | 0 | for (auto it{str}; *it != '\0'; ++it) { |
27 | 0 | if (*it != '%' || *++it == '%') continue; // Skip escaped %% |
28 | 0 |
|
29 | 0 | auto add_arg = [&] { |
30 | 0 | unsigned maybe_num{0}; |
31 | 0 | while ('0' <= *it && *it <= '9') { |
32 | 0 | maybe_num *= 10; |
33 | 0 | maybe_num += *it - '0'; |
34 | 0 | ++it; |
35 | 0 | } |
36 | 0 |
|
37 | 0 | if (*it == '$') { |
38 | 0 | ++it; |
39 | 0 | // Positional specifier, like %8$s |
40 | 0 | if (maybe_num == 0) throw "Positional format specifier must have position of at least 1"; |
41 | 0 | count_pos = std::max(count_pos, maybe_num); |
42 | 0 | } else { |
43 | 0 | // Non-positional specifier, like %s |
44 | 0 | ++count_normal; |
45 | 0 | } |
46 | 0 | }; |
47 | 0 |
|
48 | 0 | // Increase argument count and consume positional specifier, if present. |
49 | 0 | add_arg(); |
50 | 0 |
|
51 | 0 | // Consume flags. |
52 | 0 | while (*it == '#' || *it == '0' || *it == '-' || *it == ' ' || *it == '+') ++it; |
53 | 0 |
|
54 | 0 | auto parse_size = [&] { |
55 | 0 | if (*it == '*') { |
56 | 0 | ++it; |
57 | 0 | add_arg(); |
58 | 0 | } else { |
59 | 0 | while ('0' <= *it && *it <= '9') ++it; |
60 | 0 | } |
61 | 0 | }; |
62 | 0 |
|
63 | 0 | // Consume dynamic or static width value. |
64 | 0 | parse_size(); |
65 | 0 |
|
66 | 0 | // Consume dynamic or static precision value. |
67 | 0 | if (*it == '.') { |
68 | 0 | ++it; |
69 | 0 | parse_size(); |
70 | 0 | } |
71 | 0 |
|
72 | 0 | if (*it == '\0') throw "Format specifier incorrectly terminated by end of string"; |
73 | 0 |
|
74 | 0 | // Length and type in "[flags][width][.precision][length]type" |
75 | 0 | // is not checked. Parsing continues with the next '%'. |
76 | 0 | } |
77 | 0 | if (count_normal && count_pos) throw "Format specifiers must be all positional or all non-positional!"; |
78 | 0 | unsigned count{count_normal | count_pos}; |
79 | 0 | if (num_params != count) throw "Format specifier count must match the argument count!"; |
80 | 0 | } Unexecuted instantiation: addrman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: addrman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: addrman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: asmap.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: asmap_direct.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: banman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: banman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: banman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: block.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: block_index.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: checkqueue.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: connman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: connman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: connman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: deserialize.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: deserialize.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: deserialize.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: headerssync.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: headerssync.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: http_request.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: i2p.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: i2p.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: i2p.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: integer.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: load_external_block_file.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: locale.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: mini_miner.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: net.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: net.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: net.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: net_permissions.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: net_permissions.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: net_permissions.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: netaddress.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: netaddress.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: netaddress.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: netbase_dns_lookup.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: netbase_dns_lookup.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: netbase_dns_lookup.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: node_eviction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: node_eviction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: node_eviction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: p2p_handshake.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: p2p_handshake.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: p2p_handshake.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: p2p_headers_presync.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: p2p_headers_presync.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: p2p_transport_serialization.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: pcp.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: pcp.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: pcp.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: package_eval.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: partially_downloaded_block.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: policy_estimator.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: process_message.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: process_message.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: process_message.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: process_messages.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: process_messages.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: process_messages.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: protocol.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: rbf.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: rpc.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: socks5.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: socks5.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: socks5.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: string.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: torcontrol.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: transaction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: txdownloadman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: txdownloadman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj6EEEvPKc Unexecuted instantiation: txdownloadman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: tx_pool.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: txorphan.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: txrequest.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: utxo_snapshot.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: utxo_snapshot.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: utxo_total_supply.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: validation_load_mempool.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: fees.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: fees.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: fees.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: fees.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: notifications.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: notifications.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: notifications.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: notifications.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: scriptpubkeyman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: scriptpubkeyman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: scriptpubkeyman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: scriptpubkeyman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: spend.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: spend.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: spend.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: spend.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: mempool.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: fuzz.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: client.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: chain.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj6EEEvPKc Unexecuted instantiation: chain.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: chainparams.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: chainparams.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: coins.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: args.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: args.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: args.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: config.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: config.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: config.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: messages.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: messages.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: netif.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: netif.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: pcp.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: pcp.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: settings.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: settings.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: system.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: core_write.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: core_write.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: core_write.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: external_signer.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: external_signer.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: common.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: common.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: common.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: common.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: common.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: key_io.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: key_io.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: net_types.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: net_types.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: netaddress.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: netbase.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: netbase.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: netbase.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: netbase.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: feerate.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: protocol.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: rawtransaction_util.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: request.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: request.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: request.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: util.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: util.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: util.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: util.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: util.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: descriptor.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: descriptor.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: descriptor.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: signingprovider.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: asmap.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: asmap.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: bip32.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: check.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj7EEEvPKc Unexecuted instantiation: check.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: exception.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: exception.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: exception.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: fs_helpers.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: fs_helpers.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: moneystr.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: sock.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: sock.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: sock.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: syserror.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: syserror.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: thread.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: time.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj6EEEvPKc Unexecuted instantiation: time.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: logging.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: logging.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: logging.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: random.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: random.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: coinselection.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: coinselection.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: coinselection.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: db.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: dump.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: dump.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: dump.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: dump.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: external_signer_scriptpubkeyman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: feebumper.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: feebumper.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: feebumper.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: feebumper.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: feebumper.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: interfaces.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: interfaces.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: interfaces.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: interfaces.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: load.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: load.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: load.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: load.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: migrate.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: migrate.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: migrate.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: receive.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: receive.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: receive.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: receive.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: addresses.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: addresses.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: addresses.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: addresses.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: backup.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: backup.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: backup.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: backup.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: coins.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: coins.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: coins.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: encrypt.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: encrypt.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: encrypt.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: encrypt.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: signmessage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: signmessage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: signmessage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: signmessage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: transactions.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: transactions.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: transactions.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: transactions.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: util.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: wallet.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: wallet.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: wallet.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: wallet.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: scriptpubkeyman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: spend.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj20EEEvPKc Unexecuted instantiation: sqlite.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: sqlite.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: sqlite.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: transaction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: transaction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: transaction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: wallet.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: wallet.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: walletdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: walletdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: walletdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: walletdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: walletdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: mining.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: random.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: setup_common.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: setup_common.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: txmempool.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: txmempool.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: validation.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: addrdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: addrdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: addrdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: addrdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: addrman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: addrman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: addrman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: banman.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: blockencodings.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: blockencodings.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: blockencodings.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: tx_verify.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: tx_verify.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: dbwrapper.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: dbwrapper.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: dbwrapper.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: dbwrapper.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: flatfile.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: flatfile.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: flatfile.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: headerssync.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: headerssync.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: httprpc.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: httprpc.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: httprpc.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: httpserver.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: httpserver.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: httpserver.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: httpserver.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: i2p.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: base.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: base.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: base.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: blockfilterindex.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: blockfilterindex.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: blockfilterindex.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: blockfilterindex.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: blockfilterindex.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: coinstatsindex.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: coinstatsindex.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: coinstatsindex.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: txindex.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: txindex.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: init.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: init.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: init.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: init.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: init.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: init.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: coinstats.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: context.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: mapport.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: mapport.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: mapport.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: net.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: net.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: net.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: net_processing.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: net_processing.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj6EEEvPKc Unexecuted instantiation: net_processing.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: net_processing.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: net_processing.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: net_processing.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: net_processing.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj8EEEvPKc Unexecuted instantiation: net_processing.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj7EEEvPKc Unexecuted instantiation: net_processing.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: netgroup.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: netgroup.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: abort.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: blockmanager_args.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: blockstorage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: blockstorage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: blockstorage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: blockstorage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj7EEEvPKc Unexecuted instantiation: blockstorage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: blockstorage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: chainstate.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: chainstate.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: chainstatemanager_args.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: chainstatemanager_args.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: coin.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: context.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: eviction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: interface_ui.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: kernel_notifications.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: mempool_args.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: mempool_persist.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: mempool_persist.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: mempool_persist.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: mempool_persist.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: mempool_persist_args.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: miner.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: miner.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: miner.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: miner.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: peerman_args.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: psbt.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: timeoffsets.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: timeoffsets.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: txdownloadman_impl.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: txdownloadman_impl.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj6EEEvPKc Unexecuted instantiation: txdownloadman_impl.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: txdownloadman_impl.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: txreconciliation.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: txreconciliation.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: noui.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: noui.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: ephemeral_policy.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: fees.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj18EEEvPKc Unexecuted instantiation: fees.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj7EEEvPKc Unexecuted instantiation: rbf.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: rbf.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: truc_policy.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: truc_policy.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: rest.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: rest.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: rest.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: blockchain.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: blockchain.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: blockchain.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: blockchain.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: blockchain.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: mempool.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: mining.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: node.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: output_script.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: rawtransaction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: rawtransaction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: server.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: server.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: server.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: server_util.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: server_util.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: txoutproof.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: sigcache.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: signet.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: torcontrol.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: torcontrol.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: torcontrol.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: txdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: txdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: txdb.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: txmempool.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: txorphanage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: txorphanage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: txorphanage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: txorphanage.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: validation.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: validation.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: validation.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc Unexecuted instantiation: validation.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: validation.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj0EEEvPKc Unexecuted instantiation: validation.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj6EEEvPKc Unexecuted instantiation: validation.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj12EEEvPKc Unexecuted instantiation: validationinterface.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj4EEEvPKc Unexecuted instantiation: validationinterface.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: validationinterface.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: clientversion.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj3EEEvPKc Unexecuted instantiation: clientversion.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj1EEEvPKc Unexecuted instantiation: clientversion.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj2EEEvPKc Unexecuted instantiation: block.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj8EEEvPKc Unexecuted instantiation: transaction.cpp:_ZN4util6detailL24CheckNumFormatSpecifiersILj5EEEvPKc |
81 | | } // namespace detail |
82 | | |
83 | | /** |
84 | | * @brief A wrapper for a compile-time partially validated format string |
85 | | * |
86 | | * This struct can be used to enforce partial compile-time validation of format |
87 | | * strings, to reduce the likelihood of tinyformat throwing exceptions at |
88 | | * run-time. Validation is partial to try and prevent the most common errors |
89 | | * while avoiding re-implementing the entire parsing logic. |
90 | | */ |
91 | | template <unsigned num_params> |
92 | | struct ConstevalFormatString { |
93 | | const char* const fmt; |
94 | | consteval ConstevalFormatString(const char* str) : fmt{str} { detail::CheckNumFormatSpecifiers<num_params>(fmt); } |
95 | | }; |
96 | | |
97 | | void ReplaceAll(std::string& in_out, const std::string& search, const std::string& substitute); |
98 | | |
99 | | /** Split a string on any char found in separators, returning a vector. |
100 | | * |
101 | | * If sep does not occur in sp, a singleton with the entirety of sp is returned. |
102 | | * |
103 | | * Note that this function does not care about braces, so splitting |
104 | | * "foo(bar(1),2),3) on ',' will return {"foo(bar(1)", "2)", "3)"}. |
105 | | */ |
106 | | template <typename T = std::span<const char>> |
107 | | std::vector<T> Split(const std::span<const char>& sp, std::string_view separators) |
108 | 0 | { |
109 | 0 | std::vector<T> ret; |
110 | 0 | auto it = sp.begin(); |
111 | 0 | auto start = it; |
112 | 0 | while (it != sp.end()) { |
113 | 0 | if (separators.find(*it) != std::string::npos) { |
114 | 0 | ret.emplace_back(start, it); |
115 | 0 | start = it + 1; |
116 | 0 | } |
117 | 0 | ++it; |
118 | 0 | } |
119 | 0 | ret.emplace_back(start, it); |
120 | 0 | return ret; |
121 | 0 | } Unexecuted instantiation: _ZN4util5SplitINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEENS1_6vectorIT_NS5_IS9_EEEERKNS1_4spanIKcLm18446744073709551615EEENS1_17basic_string_viewIcS4_EE Unexecuted instantiation: _ZN4util5SplitINSt3__14spanIKcLm18446744073709551615EEEEENS1_6vectorIT_NS1_9allocatorIS6_EEEERKS4_NS1_17basic_string_viewIcNS1_11char_traitsIcEEEE Unexecuted instantiation: _ZN4util5SplitINSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEEENS1_6vectorIT_NS1_9allocatorIS7_EEEERKNS1_4spanIKcLm18446744073709551615EEES5_ |
122 | | |
123 | | /** Split a string on every instance of sep, returning a vector. |
124 | | * |
125 | | * If sep does not occur in sp, a singleton with the entirety of sp is returned. |
126 | | * |
127 | | * Note that this function does not care about braces, so splitting |
128 | | * "foo(bar(1),2),3) on ',' will return {"foo(bar(1)", "2)", "3)"}. |
129 | | */ |
130 | | template <typename T = std::span<const char>> |
131 | | std::vector<T> Split(const std::span<const char>& sp, char sep) |
132 | 0 | { |
133 | 0 | return Split<T>(sp, std::string_view{&sep, 1}); |
134 | 0 | } Unexecuted instantiation: _ZN4util5SplitINSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEEEENS1_6vectorIT_NS5_IS9_EEEERKNS1_4spanIKcLm18446744073709551615EEEc Unexecuted instantiation: _ZN4util5SplitINSt3__14spanIKcLm18446744073709551615EEEEENS1_6vectorIT_NS1_9allocatorIS6_EEEERKS4_c Unexecuted instantiation: _ZN4util5SplitINSt3__117basic_string_viewIcNS1_11char_traitsIcEEEEEENS1_6vectorIT_NS1_9allocatorIS7_EEEERKNS1_4spanIKcLm18446744073709551615EEEc |
135 | | |
136 | | [[nodiscard]] inline std::vector<std::string> SplitString(std::string_view str, char sep) |
137 | 0 | { |
138 | 0 | return Split<std::string>(str, sep); |
139 | 0 | } |
140 | | |
141 | | [[nodiscard]] inline std::vector<std::string> SplitString(std::string_view str, std::string_view separators) |
142 | 0 | { |
143 | 0 | return Split<std::string>(str, separators); |
144 | 0 | } |
145 | | |
146 | | [[nodiscard]] inline std::string_view TrimStringView(std::string_view str, std::string_view pattern = " \f\n\r\t\v") |
147 | 0 | { |
148 | 0 | std::string::size_type front = str.find_first_not_of(pattern); |
149 | 0 | if (front == std::string::npos) { |
150 | 0 | return {}; |
151 | 0 | } |
152 | 0 | std::string::size_type end = str.find_last_not_of(pattern); |
153 | 0 | return str.substr(front, end - front + 1); |
154 | 0 | } |
155 | | |
156 | | [[nodiscard]] inline std::string TrimString(std::string_view str, std::string_view pattern = " \f\n\r\t\v") |
157 | 0 | { |
158 | 0 | return std::string(TrimStringView(str, pattern)); |
159 | 0 | } |
160 | | |
161 | | [[nodiscard]] inline std::string_view RemoveSuffixView(std::string_view str, std::string_view suffix) |
162 | 0 | { |
163 | 0 | if (str.ends_with(suffix)) { |
164 | 0 | return str.substr(0, str.size() - suffix.size()); |
165 | 0 | } |
166 | 0 | return str; |
167 | 0 | } |
168 | | |
169 | | [[nodiscard]] inline std::string_view RemovePrefixView(std::string_view str, std::string_view prefix) |
170 | 0 | { |
171 | 0 | if (str.substr(0, prefix.size()) == prefix) { |
172 | 0 | return str.substr(prefix.size()); |
173 | 0 | } |
174 | 0 | return str; |
175 | 0 | } |
176 | | |
177 | | [[nodiscard]] inline std::string RemovePrefix(std::string_view str, std::string_view prefix) |
178 | 0 | { |
179 | 0 | return std::string(RemovePrefixView(str, prefix)); |
180 | 0 | } |
181 | | |
182 | | /** |
183 | | * Join all container items. Typically used to concatenate strings but accepts |
184 | | * containers with elements of any type. |
185 | | * |
186 | | * @param container The items to join |
187 | | * @param separator The separator |
188 | | * @param unary_op Apply this operator to each item |
189 | | */ |
190 | | template <typename C, typename S, typename UnaryOp> |
191 | | // NOLINTNEXTLINE(misc-no-recursion) |
192 | | auto Join(const C& container, const S& separator, UnaryOp unary_op) |
193 | 0 | { |
194 | 0 | decltype(unary_op(*container.begin())) ret; |
195 | 0 | bool first{true}; |
196 | 0 | for (const auto& item : container) { |
197 | 0 | if (!first) ret += separator; |
198 | 0 | ret += unary_op(item); |
199 | 0 | first = false; |
200 | 0 | } |
201 | 0 | return ret; |
202 | 0 | } Unexecuted instantiation: _ZN4util4JoinINSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEEA2_cZNS_17MakeUnorderedListERKSA_EUlRKS8_E_EEDaRKT_RKT0_T1_ Unexecuted instantiation: _ZN4util4JoinINSt3__16vectorI11LogCategoryNS1_9allocatorIS3_EEEEA3_cZNK5BCLog6Logger19LogCategoriesStringEvEUlRKS3_E_EEDaRKT_RKT0_T1_ Unexecuted instantiation: _ZN4util4JoinINSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEEA4_cZNS_4JoinISA_SB_EEDaRKT_RKT0_EUlSF_E_EEDaSF_SI_T1_ Unexecuted instantiation: _ZN4util4JoinINSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEES8_ZNS_4JoinISA_S8_EEDaRKT_RKT0_EUlSE_E_EEDaSE_SH_T1_ Unexecuted instantiation: _ZN4util4JoinINSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEEA3_cZNS_4JoinISA_SB_EEDaRKT_RKT0_EUlSF_E_EEDaSF_SI_T1_ Unexecuted instantiation: messages.cpp:_ZN4util4JoinINSt3__16vectorINS1_4pairINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEE15FeeEstimateModeEENS7_ISB_EEEES9_ZN6common8FeeModesERKS9_E3$_0EEDaRKT_RKT0_T1_ Unexecuted instantiation: util.cpp:_ZN4util4JoinINSt3__16vectorI6RPCArgNS1_9allocatorIS3_EEEEA2_cZNKS3_8ToStringEbE3$_0EEDaRKT_RKT0_T1_ Unexecuted instantiation: logging.cpp:_ZN4util4JoinINSt3__16vectorIN5BCLog5LevelENS1_9allocatorIS4_EEEEA3_cZNKS3_6Logger15LogLevelsStringEvE3$_0EEDaRKT_RKT0_T1_ Unexecuted instantiation: _ZN4util4JoinINSt3__16vectorI13bilingual_strNS1_9allocatorIS3_EEEES3_ZNS_4JoinIS6_S3_EEDaRKT_RKT0_EUlSA_E_EEDaSA_SD_T1_ Unexecuted instantiation: blockfilter.cpp:_ZN4util4JoinINSt3__13mapI15BlockFilterTypeNS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS1_4lessIS3_EENS7_INS1_4pairIKS3_S9_EEEEEEA3_cZ20ListBlockFilterTypesvE3$_0EEDaRKT_RKT0_T1_ Unexecuted instantiation: validation.cpp:_ZN4util4JoinINSt3__16vectorIiNS1_9allocatorIiEEEEA3_cZN17ChainstateManager16ActivateSnapshotER8AutoFileRKN4node16SnapshotMetadataEbE3$_0EEDaRKT_RKT0_T1_ |
203 | | |
204 | | template <typename C, typename S> |
205 | | auto Join(const C& container, const S& separator) |
206 | 0 | { |
207 | 0 | return Join(container, separator, [](const auto& i) { return i; }); Unexecuted instantiation: _ZZN4util4JoinINSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEEA4_cEEDaRKT_RKT0_ENKUlSE_E_clIS8_EEDaSE_ Unexecuted instantiation: _ZZN4util4JoinINSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEES8_EEDaRKT_RKT0_ENKUlSD_E_clIS8_EEDaSD_ Unexecuted instantiation: _ZZN4util4JoinINSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEEA3_cEEDaRKT_RKT0_ENKUlSE_E_clIS8_EEDaSE_ Unexecuted instantiation: _ZZN4util4JoinINSt3__16vectorI13bilingual_strNS1_9allocatorIS3_EEEES3_EEDaRKT_RKT0_ENKUlS9_E_clIS3_EEDaS9_ |
208 | 0 | } Unexecuted instantiation: _ZN4util4JoinINSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEEA4_cEEDaRKT_RKT0_ Unexecuted instantiation: _ZN4util4JoinINSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEES8_EEDaRKT_RKT0_ Unexecuted instantiation: _ZN4util4JoinINSt3__16vectorINS1_12basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEENS6_IS8_EEEEA3_cEEDaRKT_RKT0_ Unexecuted instantiation: _ZN4util4JoinINSt3__16vectorI13bilingual_strNS1_9allocatorIS3_EEEES3_EEDaRKT_RKT0_ |
209 | | |
210 | | /** |
211 | | * Create an unordered multi-line list of items. |
212 | | */ |
213 | | inline std::string MakeUnorderedList(const std::vector<std::string>& items) |
214 | 0 | { |
215 | 0 | return Join(items, "\n", [](const std::string& item) { return "- " + item; }); |
216 | 0 | } |
217 | | |
218 | | /** |
219 | | * Check if a string does not contain any embedded NUL (\0) characters |
220 | | */ |
221 | | [[nodiscard]] inline bool ContainsNoNUL(std::string_view str) noexcept |
222 | 0 | { |
223 | 0 | for (auto c : str) { |
224 | 0 | if (c == 0) return false; |
225 | 0 | } |
226 | 0 | return true; |
227 | 0 | } |
228 | | |
229 | | /** |
230 | | * Locale-independent version of std::to_string |
231 | | */ |
232 | | template <typename T> |
233 | | std::string ToString(const T& t) |
234 | 0 | { |
235 | 0 | std::ostringstream oss; |
236 | 0 | oss.imbue(std::locale::classic()); |
237 | 0 | oss << t; |
238 | 0 | return oss.str(); |
239 | 0 | } Unexecuted instantiation: _ZN4util8ToStringIxEENSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERKT_ Unexecuted instantiation: _ZN4util8ToStringIjEENSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERKT_ Unexecuted instantiation: _ZN4util8ToStringIyEENSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERKT_ Unexecuted instantiation: _ZN4util8ToStringImEENSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERKT_ Unexecuted instantiation: _ZN4util8ToStringIiEENSt3__112basic_stringIcNS1_11char_traitsIcEENS1_9allocatorIcEEEERKT_ |
240 | | |
241 | | /** |
242 | | * Check whether a container begins with the given prefix. |
243 | | */ |
244 | | template <typename T1, size_t PREFIX_LEN> |
245 | | [[nodiscard]] inline bool HasPrefix(const T1& obj, |
246 | | const std::array<uint8_t, PREFIX_LEN>& prefix) |
247 | 0 | { |
248 | 0 | return obj.size() >= PREFIX_LEN && |
249 | 0 | std::equal(std::begin(prefix), std::end(prefix), std::begin(obj)); |
250 | 0 | } Unexecuted instantiation: _ZN4util9HasPrefixI9prevectorILj16EhjiELm6EEEbRKT_RKNSt3__15arrayIhXT0_EEE Unexecuted instantiation: _ZN4util9HasPrefixI9prevectorILj16EhjiELm12EEEbRKT_RKNSt3__15arrayIhXT0_EEE Unexecuted instantiation: _ZN4util9HasPrefixINSt3__14spanIKhLm18446744073709551615EEELm12EEEbRKT_RKNS1_5arrayIhXT0_EEE Unexecuted instantiation: _ZN4util9HasPrefixINSt3__14spanIKhLm18446744073709551615EEELm6EEEbRKT_RKNS1_5arrayIhXT0_EEE Unexecuted instantiation: _ZN4util9HasPrefixI9prevectorILj16EhjiELm2EEEbRKT_RKNSt3__15arrayIhXT0_EEE Unexecuted instantiation: _ZN4util9HasPrefixI9prevectorILj16EhjiELm3EEEbRKT_RKNSt3__15arrayIhXT0_EEE Unexecuted instantiation: _ZN4util9HasPrefixI9prevectorILj16EhjiELm4EEEbRKT_RKNSt3__15arrayIhXT0_EEE Unexecuted instantiation: _ZN4util9HasPrefixI9prevectorILj16EhjiELm8EEEbRKT_RKNSt3__15arrayIhXT0_EEE |
251 | | } // namespace util |
252 | | |
253 | | #endif // BITCOIN_UTIL_STRING_H |