LCOV - code coverage report
Current view: top level - src/util - any.h (source / functions) Hit Total Coverage
Test: fuzz_coverage.info Lines: 0 3 0.0 %
Date: 2023-09-26 12:08:55 Functions: 0 2 0.0 %

          Line data    Source code
       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           0 : T* AnyPtr(const std::any& any) noexcept
      19             : {
      20           0 :     T* const* ptr = std::any_cast<T*>(&any);
      21           0 :     return ptr ? *ptr : nullptr;
      22             : }
      23             : 
      24             : } // namespace util
      25             : 
      26             : #endif // BITCOIN_UTIL_ANY_H

Generated by: LCOV version 1.14