1#ifndef CHRYSALIS_TYPES_H
2#define CHRYSALIS_TYPES_H
21template <
typename R,
typename... ExtraArgs>
27template <
typename... ExtraArgs>
38template <
typename R,
typename... ExtraArgs>
50template <
typename R,
typename... ExtraArgs>
52 using ResultArg = std::conditional_t<std::is_reference_v<R>, std::remove_reference_t<R>*, R>;
56template <
typename... ExtraArgs>
66template <
typename R,
typename... Args>
76template <
typename R,
typename Class,
typename... Args>
91template <
typename R,
typename Class,
typename... Args>
101template <
typename R,
typename... Args>
111template <
typename R,
typename Class,
typename... Args>
121template <
typename R,
typename Class,
typename... Args>
140 (std::is_pointer_v<
decltype(F)> && std::is_function_v<std::remove_pointer_t<
decltype(F)>>);
152template <
typename Cb, auto F>
158template <
typename Cb, auto F>
165template <
typename Cb, auto F>
172template <
typename Cb, auto F>
Definition HookHandle.h:19
std::function< void(HookHandle, R &, ExtraArgs &...)> type
Definition types.h:24
R ReturnType
Definition types.h:93
ReplaceType< R, const Class *, Args... >::type Replace
Definition types.h:96
std::function< void(HookHandle, const Class *&, Args &...)> Before
Definition types.h:94
AfterType< R, const Class *, Args... >::type After
Definition types.h:95
IgnoreConditionallyType< R, const Class *, Args... >::type IgnoreConditionally
Definition types.h:97
R ReturnType
Definition types.h:123
std::function< void(HookHandle, const Class *&, Args &...)> Before
Definition types.h:124
AfterType< R, const Class *, Args... >::type After
Definition types.h:125
ReplaceType< R, const Class *, Args... >::type Replace
Definition types.h:126
IgnoreConditionallyType< R, const Class *, Args... >::type IgnoreConditionally
Definition types.h:127
ReplaceType< R, Class *, Args... >::type Replace
Definition types.h:116
IgnoreConditionallyType< R, Class *, Args... >::type IgnoreConditionally
Definition types.h:117
AfterType< R, Class *, Args... >::type After
Definition types.h:115
std::function< void(HookHandle, Class *&, Args &...)> Before
Definition types.h:114
R ReturnType
Definition types.h:113
AfterType< R, Class *, Args... >::type After
Definition types.h:80
R ReturnType
Definition types.h:78
std::function< void(HookHandle, Class *&, Args &...)> Before
Definition types.h:79
ReplaceType< R, Class *, Args... >::type Replace
Definition types.h:81
IgnoreConditionallyType< R, Class *, Args... >::type IgnoreConditionally
Definition types.h:82
std::function< void(HookHandle, Args &...)> Before
Definition types.h:104
R ReturnType
Definition types.h:103
ReplaceType< R, Args... >::type Replace
Definition types.h:106
IgnoreConditionallyType< R, Args... >::type IgnoreConditionally
Definition types.h:107
AfterType< R, Args... >::type After
Definition types.h:105
ReplaceType< R, Args... >::type Replace
Definition types.h:71
AfterType< R, Args... >::type After
Definition types.h:70
R ReturnType
Definition types.h:68
IgnoreConditionallyType< R, Args... >::type IgnoreConditionally
Definition types.h:72
std::function< void(HookHandle, Args &...)> Before
Definition types.h:69
std::conditional_t< std::is_reference_v< R >, std::remove_reference_t< R > *, R > ResultArg
Definition types.h:52
std::function< void(HookHandle, bool &, ResultArg &, ExtraArgs &...)> type
Definition types.h:53
std::function< R(HookHandle, ExtraArgs &...)> type
Definition types.h:40