Bitcoin Core Fuzz Coverage Report for wallet_tx_can_be_bumped

Coverage Report

Created: 2025-11-19 11:20

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/Users/brunogarcia/projects/bitcoin-core-dev/src/util/string.h
Line
Count
Source
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: addition_overflow.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: addrman.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: addrman.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: addrman.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: asmap.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: asmap_direct.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: autofile.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: banman.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: banman.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: banman.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: base_encode_decode.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: bip324.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: bitdeque.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: bitset.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: block.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: block_header.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: block_index.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: blockfilter.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: bloom_filter.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: buffered_file.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: chain.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: checkqueue.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: cluster_linearize.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: coins_view.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: coinscache_sim.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: connman.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: connman.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: connman.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: crypto.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: crypto_aes256.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: crypto_aes256cbc.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: crypto_chacha20.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: crypto_chacha20poly1305.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: crypto_common.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: crypto_diff_fuzz_chacha20.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: crypto_hkdf_hmac_sha256_l32.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: crypto_poly1305.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: cuckoocache.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: deserialize.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: deserialize.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: deserialize.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: difference_formatter.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: feefrac.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: fee_rate.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: feeratediagram.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: fees.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: flatfile.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: float.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: golomb_rice.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: headerssync.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: headerssync.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: http_request.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: http_request.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: i2p.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: i2p.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: i2p.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: integer.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: integer.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: key.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: kitchen_sink.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: load_external_block_file.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: locale.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: merkle.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: merkleblock.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: message.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: miniscript.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: minisketch.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: mini_miner.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: muhash.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: multiplication_overflow.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: net.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: net.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: net.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: net_permissions.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: net_permissions.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: net_permissions.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: netaddress.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: netaddress.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: netaddress.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: netbase_dns_lookup.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: netbase_dns_lookup.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: netbase_dns_lookup.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: node_eviction.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: node_eviction.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: node_eviction.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: p2p_handshake.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: p2p_handshake.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: p2p_handshake.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: p2p_headers_presync.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: p2p_headers_presync.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: p2p_transport_serialization.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: p2p_transport_serialization.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: pcp.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: pcp.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: pcp.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: package_eval.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: parse_hd_keypath.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: partially_downloaded_block.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: policy_estimator.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: policy_estimator_io.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: poolresource.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: pow.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: prevector.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: primitives_transaction.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: process_message.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: process_message.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: process_message.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: process_messages.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: process_messages.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: process_messages.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: protocol.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: protocol.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: psbt.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: random.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: rbf.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: rolling_bloom_filter.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: rpc.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: script.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: script_assets_test_minimizer.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: script_descriptor_cache.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: script_flags.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: script_format.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: script_interpreter.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: script_ops.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: script_sigcache.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: script_sign.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: scriptnum_ops.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: secp256k1_ec_seckey_import_export_der.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: secp256k1_ecdsa_signature_parse_der_lax.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: signature_checker.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: signet.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: socks5.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: socks5.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: socks5.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: span.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: string.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: string.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: strprintf.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: system.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: torcontrol.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: torcontrol.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: transaction.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txdownloadman.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: txdownloadman.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txdownloadman.cpp:void util::detail::CheckNumFormatSpecifiers<6u>(char const*)
Unexecuted instantiation: tx_in.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: tx_out.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: tx_pool.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txgraph.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txorphan.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: txorphan.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txrequest.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: txrequest.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: utxo_snapshot.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: utxo_snapshot.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: utxo_total_supply.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: validation_load_mempool.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: vecdeque.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: versionbits.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: coincontrol.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: coinselection.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: crypter.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: feebumper.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: feebumper.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: feebumper.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: feebumper.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: fees.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: fees.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: fees.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: scriptpubkeyman.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: scriptpubkeyman.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: scriptpubkeyman.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: scriptpubkeyman.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: spend.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: spend.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: spend.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: spend.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: wallet_bdb_parser.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: mempool.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: threadinterrupt.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: fuzz.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: util.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: client.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: chain.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: chainparams.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: chainparams.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: coins.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: args.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: args.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: args.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: bloom.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: config.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: config.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: config.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: messages.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: messages.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: netif.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: netif.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: pcp.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: pcp.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: settings.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: settings.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: system.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: core_read.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: core_write.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: core_write.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: core_write.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: external_signer.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: external_signer.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: common.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: common.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: common.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: common.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: common.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: key_io.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: key_io.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: net_types.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: net_types.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: netaddress.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: netbase.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: netbase.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: netbase.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: netbase.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: feerate.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: rawtransaction_util.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: rawtransaction_util.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: request.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: request.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: request.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: util.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: util.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: util.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: descriptor.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: descriptor.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: descriptor.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: signingprovider.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: asmap.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: asmap.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: bip32.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: check.cpp:void util::detail::CheckNumFormatSpecifiers<7u>(char const*)
Unexecuted instantiation: check.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: exception.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: exception.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: exception.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: fs_helpers.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: fs_helpers.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: moneystr.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: sock.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: sock.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: sock.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: syserror.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: syserror.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: thread.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: time.cpp:void util::detail::CheckNumFormatSpecifiers<6u>(char const*)
Unexecuted instantiation: time.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: logging.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: logging.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: logging.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: logging.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: random.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: streams.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: coinselection.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: coinselection.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: db.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: db.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: dump.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: dump.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: dump.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: dump.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: external_signer_scriptpubkeyman.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: feebumper.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: interfaces.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: interfaces.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: interfaces.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: interfaces.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: load.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: load.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: load.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: load.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: migrate.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: migrate.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: migrate.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: receive.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: receive.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: receive.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: receive.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: addresses.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: addresses.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: addresses.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: addresses.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: backup.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: backup.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: backup.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: backup.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: coins.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: coins.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: coins.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: encrypt.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: encrypt.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: encrypt.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: encrypt.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: signmessage.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: signmessage.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: signmessage.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: signmessage.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: transactions.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: transactions.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: transactions.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: transactions.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: util.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: wallet.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: wallet.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: wallet.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: wallet.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: scriptpubkeyman.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: spend.cpp:void util::detail::CheckNumFormatSpecifiers<20u>(char const*)
Unexecuted instantiation: sqlite.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: sqlite.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: sqlite.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: transaction.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: transaction.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: transaction.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: wallet.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: wallet.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: walletdb.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: walletdb.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: walletdb.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: walletdb.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: walletdb.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: mining.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: random.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: setup_common.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: setup_common.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txmempool.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txmempool.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: validation.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: addrdb.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: addrdb.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: addrdb.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: addrdb.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: addrman.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: addrman.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: addrman.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: banman.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: blockencodings.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: blockencodings.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: blockencodings.cpp:void util::detail::CheckNumFormatSpecifiers<6u>(char const*)
Unexecuted instantiation: tx_verify.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: tx_verify.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: dbwrapper.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: dbwrapper.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: dbwrapper.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: dbwrapper.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: flatfile.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: flatfile.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: headerssync.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: headerssync.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: httprpc.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: httprpc.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: httprpc.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: httpserver.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: httpserver.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: httpserver.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: httpserver.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: i2p.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: base.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: base.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: blockfilterindex.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: blockfilterindex.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: blockfilterindex.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: blockfilterindex.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: coinstatsindex.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: coinstatsindex.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: coinstatsindex.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: txindex.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txindex.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: init.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: init.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: init.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: init.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: init.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: init.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: coinstats.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: context.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: mapport.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: mapport.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: mapport.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: net.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: net.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: net.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: net_processing.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: net_processing.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: net_processing.cpp:void util::detail::CheckNumFormatSpecifiers<6u>(char const*)
Unexecuted instantiation: net_processing.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: net_processing.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: net_processing.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: net_processing.cpp:void util::detail::CheckNumFormatSpecifiers<8u>(char const*)
Unexecuted instantiation: net_processing.cpp:void util::detail::CheckNumFormatSpecifiers<7u>(char const*)
Unexecuted instantiation: net_processing.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: netgroup.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: netgroup.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: abort.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: blockmanager_args.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: blockstorage.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: blockstorage.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: blockstorage.cpp:void util::detail::CheckNumFormatSpecifiers<6u>(char const*)
Unexecuted instantiation: blockstorage.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: blockstorage.cpp:void util::detail::CheckNumFormatSpecifiers<7u>(char const*)
Unexecuted instantiation: blockstorage.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: blockstorage.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: caches.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: caches.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: chainstate.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: chainstate.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: chainstatemanager_args.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: chainstatemanager_args.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: coin.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: coins_view_args.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: context.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: database_args.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: eviction.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: interface_ui.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: kernel_notifications.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: mempool_args.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: mempool_args.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: mempool_persist.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: mempool_persist.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: mempool_persist.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: mempool_persist.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: mempool_persist.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: mempool_persist_args.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: miner.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: miner.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: miner.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: miner.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: peerman_args.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: peerman_args.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: timeoffsets.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: timeoffsets.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txdownloadman_impl.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: txdownloadman_impl.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txdownloadman_impl.cpp:void util::detail::CheckNumFormatSpecifiers<6u>(char const*)
Unexecuted instantiation: txdownloadman_impl.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: txorphanage.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: txorphanage.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txorphanage.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: txorphanage.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: txreconciliation.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: txreconciliation.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: noui.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: noui.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: ephemeral_policy.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: block_policy_estimator.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: block_policy_estimator.cpp:void util::detail::CheckNumFormatSpecifiers<18u>(char const*)
Unexecuted instantiation: block_policy_estimator.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: block_policy_estimator.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: block_policy_estimator.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: block_policy_estimator.cpp:void util::detail::CheckNumFormatSpecifiers<7u>(char const*)
Unexecuted instantiation: rbf.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: rbf.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: truc_policy.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: truc_policy.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: rest.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: rest.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: blockchain.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: blockchain.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: blockchain.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: blockchain.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: blockchain.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: mempool.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: mining.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: node.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: node.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: output_script.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: rawtransaction.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: rawtransaction.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: server.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: server.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: server_util.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: server_util.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txoutproof.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: sigcache.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: signet.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: torcontrol.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: torcontrol.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: txdb.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: txdb.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: txdb.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: txmempool.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: validation.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: validation.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: validation.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: validation.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: validation.cpp:void util::detail::CheckNumFormatSpecifiers<0u>(char const*)
Unexecuted instantiation: validation.cpp:void util::detail::CheckNumFormatSpecifiers<6u>(char const*)
Unexecuted instantiation: validation.cpp:void util::detail::CheckNumFormatSpecifiers<12u>(char const*)
Unexecuted instantiation: validationinterface.cpp:void util::detail::CheckNumFormatSpecifiers<4u>(char const*)
Unexecuted instantiation: validationinterface.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: validationinterface.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: clientversion.cpp:void util::detail::CheckNumFormatSpecifiers<3u>(char const*)
Unexecuted instantiation: clientversion.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
Unexecuted instantiation: clientversion.cpp:void util::detail::CheckNumFormatSpecifiers<2u>(char const*)
Unexecuted instantiation: block.cpp:void util::detail::CheckNumFormatSpecifiers<8u>(char const*)
Unexecuted instantiation: transaction.cpp:void util::detail::CheckNumFormatSpecifiers<5u>(char const*)
Unexecuted instantiation: interpreter.cpp:void util::detail::CheckNumFormatSpecifiers<1u>(char const*)
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
 * @param[in] include_sep Whether to include the separator at the end of the left side of the splits.
104
 *
105
 * Note that this function does not care about braces, so splitting
106
 * "foo(bar(1),2),3) on ',' will return {"foo(bar(1)", "2)", "3)"}.
107
 *
108
 * If include_sep == true, splitting "foo(bar(1),2),3) on ','
109
 * will return:
110
 *  - foo(bar(1),
111
 *  - 2),
112
 *  - 3)
113
 */
114
template <typename T = std::span<const char>>
115
std::vector<T> Split(const std::span<const char>& sp, std::string_view separators, bool include_sep = false)
116
317k
{
117
317k
    std::vector<T> ret;
118
317k
    auto it = sp.begin();
119
317k
    auto start = it;
120
32.7M
    while (it != sp.end()) {
121
32.4M
        if (separators.find(*it) != std::string::npos) {
122
475k
            if (include_sep) {
123
0
                ret.emplace_back(start, it + 1);
124
475k
            } else {
125
475k
                ret.emplace_back(start, it);
126
475k
            }
127
475k
            start = it + 1;
128
475k
        }
129
32.4M
        ++it;
130
32.4M
    }
131
317k
    ret.emplace_back(start, it);
132
317k
    return ret;
133
317k
}
Unexecuted instantiation: std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> util::Split<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::span<char const, 18446744073709551615ul> const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>, bool)
std::__1::vector<std::__1::span<char const, 18446744073709551615ul>, std::__1::allocator<std::__1::span<char const, 18446744073709551615ul>>> util::Split<std::__1::span<char const, 18446744073709551615ul>>(std::__1::span<char const, 18446744073709551615ul> const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>, bool)
Line
Count
Source
116
317k
{
117
317k
    std::vector<T> ret;
118
317k
    auto it = sp.begin();
119
317k
    auto start = it;
120
32.7M
    while (it != sp.end()) {
121
32.4M
        if (separators.find(*it) != std::string::npos) {
122
475k
            if (include_sep) {
123
0
                ret.emplace_back(start, it + 1);
124
475k
            } else {
125
475k
                ret.emplace_back(start, it);
126
475k
            }
127
475k
            start = it + 1;
128
475k
        }
129
32.4M
        ++it;
130
32.4M
    }
131
317k
    ret.emplace_back(start, it);
132
317k
    return ret;
133
317k
}
Unexecuted instantiation: std::__1::vector<std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::allocator<std::__1::basic_string_view<char, std::__1::char_traits<char>>>> util::Split<std::__1::basic_string_view<char, std::__1::char_traits<char>>>(std::__1::span<char const, 18446744073709551615ul> const&, std::__1::basic_string_view<char, std::__1::char_traits<char>>, bool)
134
135
/** Split a string on every instance of sep, returning a vector.
136
 *
137
 * If sep does not occur in sp, a singleton with the entirety of sp is returned.
138
 *
139
 * Note that this function does not care about braces, so splitting
140
 * "foo(bar(1),2),3) on ',' will return {"foo(bar(1)", "2)", "3)"}.
141
 */
142
template <typename T = std::span<const char>>
143
std::vector<T> Split(const std::span<const char>& sp, char sep, bool include_sep = false)
144
317k
{
145
317k
    return Split<T>(sp, std::string_view{&sep, 1}, include_sep);
146
317k
}
Unexecuted instantiation: std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> util::Split<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::span<char const, 18446744073709551615ul> const&, char, bool)
std::__1::vector<std::__1::span<char const, 18446744073709551615ul>, std::__1::allocator<std::__1::span<char const, 18446744073709551615ul>>> util::Split<std::__1::span<char const, 18446744073709551615ul>>(std::__1::span<char const, 18446744073709551615ul> const&, char, bool)
Line
Count
Source
144
317k
{
145
317k
    return Split<T>(sp, std::string_view{&sep, 1}, include_sep);
146
317k
}
Unexecuted instantiation: std::__1::vector<std::__1::basic_string_view<char, std::__1::char_traits<char>>, std::__1::allocator<std::__1::basic_string_view<char, std::__1::char_traits<char>>>> util::Split<std::__1::basic_string_view<char, std::__1::char_traits<char>>>(std::__1::span<char const, 18446744073709551615ul> const&, char, bool)
147
148
[[nodiscard]] inline std::vector<std::string> SplitString(std::string_view str, char sep)
149
0
{
150
0
    return Split<std::string>(str, sep);
151
0
}
152
153
[[nodiscard]] inline std::vector<std::string> SplitString(std::string_view str, std::string_view separators)
154
0
{
155
0
    return Split<std::string>(str, separators);
156
0
}
157
158
[[nodiscard]] inline std::string_view TrimStringView(std::string_view str, std::string_view pattern = " \f\n\r\t\v")
159
0
{
160
0
    std::string::size_type front = str.find_first_not_of(pattern);
161
0
    if (front == std::string::npos) {
162
0
        return {};
163
0
    }
164
0
    std::string::size_type end = str.find_last_not_of(pattern);
165
0
    return str.substr(front, end - front + 1);
166
0
}
167
168
[[nodiscard]] inline std::string TrimString(std::string_view str, std::string_view pattern = " \f\n\r\t\v")
169
0
{
170
0
    return std::string(TrimStringView(str, pattern));
171
0
}
172
173
[[nodiscard]] inline std::string_view RemoveSuffixView(std::string_view str, std::string_view suffix)
174
0
{
175
0
    if (str.ends_with(suffix)) {
176
0
        return str.substr(0, str.size() - suffix.size());
177
0
    }
178
0
    return str;
179
0
}
180
181
[[nodiscard]] inline std::string_view RemovePrefixView(std::string_view str, std::string_view prefix)
182
0
{
183
0
    if (str.starts_with(prefix)) {
184
0
        return str.substr(prefix.size());
185
0
    }
186
0
    return str;
187
0
}
188
189
[[nodiscard]] inline std::string RemovePrefix(std::string_view str, std::string_view prefix)
190
0
{
191
0
    return std::string(RemovePrefixView(str, prefix));
192
0
}
193
194
/**
195
 * Join all container items. Typically used to concatenate strings but accepts
196
 * containers with elements of any type.
197
 *
198
 * @param container The items to join
199
 * @param separator The separator
200
 * @param unary_op  Apply this operator to each item
201
 */
202
template <typename C, typename S, typename UnaryOp>
203
// NOLINTNEXTLINE(misc-no-recursion)
204
auto Join(const C& container, const S& separator, UnaryOp unary_op)
205
0
{
206
0
    decltype(unary_op(*container.begin())) ret;
207
0
    bool first{true};
208
0
    for (const auto& item : container) {
209
0
        if (!first) ret += separator;
210
0
        ret += unary_op(item);
211
0
        first = false;
212
0
    }
213
0
    return ret;
214
0
}
Unexecuted instantiation: auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [2], util::MakeUnorderedList(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)::'lambda'(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [2], util::MakeUnorderedList(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)::'lambda'(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&))
Unexecuted instantiation: auto util::Join<std::__1::vector<LogCategory, std::__1::allocator<LogCategory>>, char [3], BCLog::Logger::LogCategoriesString() const::'lambda'(LogCategory const&)>(std::__1::vector<LogCategory, std::__1::allocator<LogCategory>> const&, char const (&) [3], BCLog::Logger::LogCategoriesString() const::'lambda'(LogCategory const&))
Unexecuted instantiation: auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [4], auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [4]>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [4])::'lambda'(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [4], auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [4]>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [4])::'lambda'(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&))
Unexecuted instantiation: auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)::'lambda'(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)::'lambda'(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&))
Unexecuted instantiation: auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [3], auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [3]>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [3])::'lambda'(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [3], auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [3]>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [3])::'lambda'(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&))
Unexecuted instantiation: messages.cpp:auto util::Join<std::__1::vector<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, FeeEstimateMode>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, FeeEstimateMode>>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, common::FeeModes(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)::$_0>(std::__1::vector<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, FeeEstimateMode>, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, FeeEstimateMode>>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, common::FeeModes(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)::$_0)
Unexecuted instantiation: outputtype.cpp:auto util::Join<std::__1::array<OutputType, 4ul>, char [3], FormatAllOutputTypes()::$_0>(std::__1::array<OutputType, 4ul> const&, char const (&) [3], FormatAllOutputTypes()::$_0)
Unexecuted instantiation: util.cpp:auto util::Join<std::__1::vector<RPCArg, std::__1::allocator<RPCArg>>, char [2], RPCArg::ToString(bool) const::$_0>(std::__1::vector<RPCArg, std::__1::allocator<RPCArg>> const&, char const (&) [2], RPCArg::ToString(bool) const::$_0)
Unexecuted instantiation: logging.cpp:auto util::Join<std::__1::vector<BCLog::Level, std::__1::allocator<BCLog::Level>>, char [3], BCLog::Logger::LogLevelsString() const::$_0>(std::__1::vector<BCLog::Level, std::__1::allocator<BCLog::Level>> const&, char const (&) [3], BCLog::Logger::LogLevelsString() const::$_0)
Unexecuted instantiation: auto util::Join<std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>>, bilingual_str, auto util::Join<std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>>, bilingual_str>(std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>> const&, bilingual_str const&)::'lambda'(std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>> const&)>(std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>> const&, bilingual_str const&, auto util::Join<std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>>, bilingual_str>(std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>> const&, bilingual_str const&)::'lambda'(std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>> const&))
Unexecuted instantiation: blockfilter.cpp:auto util::Join<std::__1::map<BlockFilterType, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<BlockFilterType>, std::__1::allocator<std::__1::pair<BlockFilterType const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>>, char [3], ListBlockFilterTypes()::$_0>(std::__1::map<BlockFilterType, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::less<BlockFilterType>, std::__1::allocator<std::__1::pair<BlockFilterType const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>> const&, char const (&) [3], ListBlockFilterTypes()::$_0)
Unexecuted instantiation: validation.cpp:auto util::Join<std::__1::vector<int, std::__1::allocator<int>>, char [3], ChainstateManager::ActivateSnapshot(AutoFile&, node::SnapshotMetadata const&, bool)::$_0>(std::__1::vector<int, std::__1::allocator<int>> const&, char const (&) [3], ChainstateManager::ActivateSnapshot(AutoFile&, node::SnapshotMetadata const&, bool)::$_0)
215
216
template <typename C, typename S>
217
auto Join(const C& container, const S& separator)
218
0
{
219
0
    return Join(container, separator, [](const auto& i) { return i; });
Unexecuted instantiation: auto auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [4]>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [4])::'lambda'(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&) const
Unexecuted instantiation: auto auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)::'lambda'(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&) const
Unexecuted instantiation: auto auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [3]>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [3])::'lambda'(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&)::operator()<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&) const
Unexecuted instantiation: auto auto util::Join<std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>>, bilingual_str>(std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>> const&, bilingual_str const&)::'lambda'(std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>> const&)::operator()<bilingual_str>(std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>> const&) const
220
0
}
Unexecuted instantiation: auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [4]>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [4])
Unexecuted instantiation: auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)
Unexecuted instantiation: auto util::Join<std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, char [3]>(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>> const&, char const (&) [3])
Unexecuted instantiation: auto util::Join<std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>>, bilingual_str>(std::__1::vector<bilingual_str, std::__1::allocator<bilingual_str>> const&, bilingual_str const&)
221
222
/**
223
 * Create an unordered multi-line list of items.
224
 */
225
inline std::string MakeUnorderedList(const std::vector<std::string>& items)
226
0
{
227
0
    return Join(items, "\n", [](const std::string& item) { return "- " + item; });
228
0
}
229
230
/**
231
 * Check if a string does not contain any embedded NUL (\0) characters
232
 */
233
[[nodiscard]] inline bool ContainsNoNUL(std::string_view str) noexcept
234
158k
{
235
17.6M
    for (auto c : str) {
236
17.6M
        if (c == 0) 
return false0
;
237
17.6M
    }
238
158k
    return true;
239
158k
}
240
241
/**
242
 * Locale-independent version of std::to_string
243
 */
244
template <typename T>
245
std::string ToString(const T& t)
246
14.9k
{
247
14.9k
    std::ostringstream oss;
248
14.9k
    oss.imbue(std::locale::classic());
249
14.9k
    oss << t;
250
14.9k
    return oss.str();
251
14.9k
}
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> util::ToString<long long>(long long const&)
Line
Count
Source
246
14.9k
{
247
14.9k
    std::ostringstream oss;
248
14.9k
    oss.imbue(std::locale::classic());
249
14.9k
    oss << t;
250
14.9k
    return oss.str();
251
14.9k
}
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> util::ToString<unsigned int>(unsigned int const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> util::ToString<unsigned long long>(unsigned long long const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> util::ToString<unsigned long>(unsigned long const&)
Unexecuted instantiation: std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> util::ToString<int>(int const&)
252
253
/**
254
 * Check whether a container begins with the given prefix.
255
 */
256
template <typename T1, size_t PREFIX_LEN>
257
[[nodiscard]] inline bool HasPrefix(const T1& obj,
258
                                const std::array<uint8_t, PREFIX_LEN>& prefix)
259
0
{
260
0
    return obj.size() >= PREFIX_LEN &&
261
0
           std::equal(std::begin(prefix), std::end(prefix), std::begin(obj));
262
0
}
Unexecuted instantiation: bool util::HasPrefix<prevector<16u, unsigned char, unsigned int, int>, 6ul>(prevector<16u, unsigned char, unsigned int, int> const&, std::__1::array<unsigned char, 6ul> const&)
Unexecuted instantiation: bool util::HasPrefix<prevector<16u, unsigned char, unsigned int, int>, 12ul>(prevector<16u, unsigned char, unsigned int, int> const&, std::__1::array<unsigned char, 12ul> const&)
Unexecuted instantiation: bool util::HasPrefix<std::__1::span<unsigned char const, 18446744073709551615ul>, 12ul>(std::__1::span<unsigned char const, 18446744073709551615ul> const&, std::__1::array<unsigned char, 12ul> const&)
Unexecuted instantiation: bool util::HasPrefix<std::__1::span<unsigned char const, 18446744073709551615ul>, 6ul>(std::__1::span<unsigned char const, 18446744073709551615ul> const&, std::__1::array<unsigned char, 6ul> const&)
Unexecuted instantiation: bool util::HasPrefix<prevector<16u, unsigned char, unsigned int, int>, 2ul>(prevector<16u, unsigned char, unsigned int, int> const&, std::__1::array<unsigned char, 2ul> const&)
Unexecuted instantiation: bool util::HasPrefix<prevector<16u, unsigned char, unsigned int, int>, 3ul>(prevector<16u, unsigned char, unsigned int, int> const&, std::__1::array<unsigned char, 3ul> const&)
Unexecuted instantiation: bool util::HasPrefix<prevector<16u, unsigned char, unsigned int, int>, 4ul>(prevector<16u, unsigned char, unsigned int, int> const&, std::__1::array<unsigned char, 4ul> const&)
Unexecuted instantiation: bool util::HasPrefix<prevector<16u, unsigned char, unsigned int, int>, 8ul>(prevector<16u, unsigned char, unsigned int, int> const&, std::__1::array<unsigned char, 8ul> const&)
263
} // namespace util
264
265
#endif // BITCOIN_UTIL_STRING_H