Bitcoin Core  26.1.0
P2P Digital Currency
Classes | Functions
util Namespace Reference

Classes

struct  Error
 
struct  Overloaded
 Overloaded helper for std::visit. More...
 
class  Result
 
class  SignalInterrupt
 Helper class that manages an interrupt flag, and allows a thread or signal to interrupt another thread. More...
 

Functions

void Xor (Span< std::byte > write, Span< const std::byte > key, size_t key_offset=0)
 
template<typename T >
T * AnyPtr (const std::any &any) noexcept
 Helper function to access the contained object of a std::any instance. More...
 
template<typename Tdst , typename Tsrc >
void insert (Tdst &dst, const Tsrc &src)
 Simplification of std insertion. More...
 
template<typename TsetT , typename Tsrc >
void insert (std::set< TsetT > &dst, const Tsrc &src)
 
template<class... Ts>
 Overloaded (Ts...) -> Overloaded< Ts... >
 Explicit deduction guide (not needed as of C++20) More...
 
template<typename T >
bilingual_str ErrorString (const Result< T > &result)
 
void TraceThread (std::string_view thread_name, std::function< void()> thread_func)
 A wrapper for do-something-once thread functions. More...
 
void ThreadRename (std::string &&)
 Rename a thread both in terms of an internal (in-memory) name as well as its system thread name. More...
 
void ThreadSetInternalName (std::string &&)
 Set the internal (in-memory) name of the current thread only. More...
 
const std::string & ThreadGetInternalName ()
 Get the thread's internal (in-memory) name; used e.g. More...
 

Function Documentation

◆ AnyPtr()

template<typename T >
T* util::AnyPtr ( const std::any &  any)
noexcept

Helper function to access the contained object of a std::any instance.

Returns a pointer to the object if passed instance has a value and the type matches, nullptr otherwise.

Definition at line 18 of file any.h.

◆ ErrorString()

template<typename T >
bilingual_str util::ErrorString ( const Result< T > &  result)

Definition at line 81 of file result.h.

Here is the caller graph for this function:

◆ insert() [1/2]

template<typename Tdst , typename Tsrc >
void util::insert ( Tdst &  dst,
const Tsrc &  src 
)
inline

Simplification of std insertion.

Definition at line 14 of file insert.h.

Here is the caller graph for this function:

◆ insert() [2/2]

template<typename TsetT , typename Tsrc >
void util::insert ( std::set< TsetT > &  dst,
const Tsrc &  src 
)
inline

Definition at line 18 of file insert.h.

◆ Overloaded()

template<class... Ts>
util::Overloaded ( Ts...  ) -> Overloaded< Ts... >

Explicit deduction guide (not needed as of C++20)

◆ ThreadGetInternalName()

const std::string & util::ThreadGetInternalName ( )

Get the thread's internal (in-memory) name; used e.g.

for identification in logging.

Definition at line 55 of file threadnames.cpp.

Here is the caller graph for this function:

◆ ThreadRename()

void util::ThreadRename ( std::string &&  name)

Rename a thread both in terms of an internal (in-memory) name as well as its system thread name.

Note
Do not call this for the main thread, as this will interfere with UNIX utilities such as top and killall. Use ThreadSetInternalName instead.

Definition at line 59 of file threadnames.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ThreadSetInternalName()

void util::ThreadSetInternalName ( std::string &&  name)

Set the internal (in-memory) name of the current thread only.

Definition at line 65 of file threadnames.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ TraceThread()

void util::TraceThread ( std::string_view  thread_name,
std::function< void()>  thread_func 
)

A wrapper for do-something-once thread functions.

Definition at line 16 of file thread.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Xor()

void util::Xor ( Span< std::byte >  write,
Span< const std::byte >  key,
size_t  key_offset = 0 
)
inline

Definition at line 28 of file streams.h.

Here is the call graph for this function:
Here is the caller graph for this function: