12 #ifndef A_UTIL_SYSTEM_ADDRESS_INFO_HEADER_INCLUDED
13 #define A_UTIL_SYSTEM_ADDRESS_INFO_HEADER_INCLUDED
28 #if ((defined _MSC_VER) && (_MSVC_LANG >= 201510L)) || (__cplusplus >= 201510L)
35 template <
typename ReturnType,
typename... Args>
36 explicit AddressInfo(ReturnType (*
const function)(Args...) noexcept) noexcept
45 template <
typename ReturnType,
typename... Args>
46 explicit AddressInfo(ReturnType (*
const function)(Args...)) noexcept
56 explicit AddressInfo(
const T& variable) noexcept : _address(&variable)
58 static_assert(!std::is_function<T>::value,
59 "ERROR: CTOR for data pointer is called with function pointer");
81 template <
typename Return,
typename... Args>
91 return *
static_cast<void* const*
>(
94 static_cast<const void*
>(
98 &
static_cast<Return (*const&)(Args...)
>(
function)));
File/Directory path class.
Address info class This class can be used to query information about a memory address (e....
AddressInfo(const T &variable) noexcept
Constructor for global or static variables addresses.
filesystem::Path getFilePath() const
Get the fully qualified file path to the executable or shared library the address is located in.
const_handle_t toDataPointer(Return(*const function)(Args...)) noexcept
Casts a function pointer to a data pointer.
AddressInfo(ReturnType(*const function)(Args...)) noexcept
Constructor for function addresses.
const void * const_handle_t
Type of a const handle value.
Serves as the root component, with common functionality documented in core functionality.
Public API for Path type and functions.
Public types and functions defining a_util core functionality.