Coverage Report

Created: 2025-03-18 19:28

/root/bitcoin/src/util/any.h
Line
Count
Source (jump to first uncovered line)
1
// Copyright (c) 2023 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_ANY_H
6
#define BITCOIN_UTIL_ANY_H
7
8
#include <any>
9
10
namespace util {
11
12
/**
13
 * Helper function to access the contained object of a std::any instance.
14
 * Returns a pointer to the object if passed instance has a value and the type
15
 * matches, nullptr otherwise.
16
 */
17
template<typename T>
18
T* AnyPtr(const std::any& any) noexcept
19
0
{
20
0
    T* const* ptr = std::any_cast<T*>(&any);
21
0
    return ptr ? *ptr : nullptr;
  Branch (21:12): [True: 0, False: 0]
  Branch (21:12): [True: 0, False: 0]
22
0
}
Unexecuted instantiation: wallet::WalletContext* util::AnyPtr<wallet::WalletContext>(std::any const&)
Unexecuted instantiation: node::NodeContext* util::AnyPtr<node::NodeContext>(std::any const&)
23
24
} // namespace util
25
26
#endif // BITCOIN_UTIL_ANY_H