mimic++ v6
Loading...
Searching...
No Matches
Call.hpp
Go to the documentation of this file.
1// Copyright Dominic (DNKpp) Koepke 2024 - 2025.
2// Distributed under the Boost Software License, Version 1.0.
3// (See accompanying file LICENSE_1_0.txt or copy at
4// https://www.boost.org/LICENSE_1_0.txt)
5
6#ifndef MIMICPP_CALL_HPP
7#define MIMICPP_CALL_HPP
8
9#pragma once
10
11#include "mimic++/Fwd.hpp"
14
15#include <source_location>
16#include <tuple>
17#include <utility>
18
20{
21 template <typename Return, typename... Args>
22 class Info
23 {
24 public:
25 using ArgListT = std::tuple<std::reference_wrapper<std::remove_reference_t<Args>>...>;
26
30 std::source_location fromSourceLocation{};
32 };
33
34 template <typename Signature>
37 : public info_for_signature<signature_decay_t<Signature>>
39 {
40 };
41
42 template <typename Signature>
44
45 template <typename Return, typename... Args>
46 struct info_for_signature<Return(Args...)>
47 {
48 using type = Info<Return, Args...>;
49 };
50}
51
52#endif
A simple type-erase stacktrace abstraction.
Definition Stacktrace.hpp:173
Definition Fwd.hpp:19
ValueCategory fromCategory
Definition Call.hpp:28
Stacktrace stacktrace
Definition Call.hpp:31
std::source_location fromSourceLocation
Definition Call.hpp:30
ArgListT args
Definition Call.hpp:27
std::tuple< std::reference_wrapper< std::remove_reference_t< Args > >... > ArgListT
Definition Call.hpp:25
Constness fromConstness
Definition Call.hpp:29
The fallback stacktrace-backend.
Definition Stacktrace.hpp:412
Definition Call.hpp:20
typename info_for_signature< Signature >::type info_for_signature_t
Definition Call.hpp:43
ValueCategory
Definition Fwd.hpp:32
Constness
Definition Fwd.hpp:25
Definition Call.hpp:39
Info< Return, Args... > type
Definition Call.hpp:48