Go to the documentation of this file. 1 #ifndef EAGINE_ARGS_WITHIN_LIMITS_HPP
9 #define EAGINE_ARGS_WITHIN_LIMITS_HPP
16 template <
typename... Params,
typename... Args>
17 static constexpr
auto args_within_limits_of(
const Args&... args) noexcept
18 -> std::enable_if_t<
sizeof...(Params) ==
sizeof...(Args),
bool> {
22 template <
typename RV,
typename... Params,
typename... Args>
24 args_within_limits(RV (*)(Params...),
const Args&... args) noexcept ->
bool {
25 return args_within_limits_of<Params...>(args...);
28 template <
typename RV,
typename Cls,
typename... Params,
typename... Args>
30 args_within_limits(RV (Cls::*)(Params...),
const Args&... args) noexcept
32 return args_within_limits_of<Params...>(args...);
35 template <
typename RV,
typename Cls,
typename... Params,
typename... Args>
36 static constexpr
auto args_within_limits(
37 RV (Cls::*)(Params...) noexcept,
38 const Args&... args) noexcept ->
bool {
39 return args_within_limits_of<Params...>(args...);
42 template <
typename RV,
typename Cls,
typename... Params,
typename... Args>
44 args_within_limits(RV (Cls::*)(Params...)
const,
const Args&... args) noexcept
46 return args_within_limits_of<Params...>(args...);
49 template <
typename RV,
typename Cls,
typename... Params,
typename... Args>
50 static constexpr
auto args_within_limits(
51 RV (Cls::*)(Params...)
const noexcept,
52 const Args&... args) noexcept ->
bool {
53 return args_within_limits_of<Params...>(args...);
58 #endif // EAGINE_ARGS_WITHIN_LIMITS_HPP
Common code is placed in this namespace.
Definition: eagine.hpp:21
static constexpr auto is_within_limits(Src value) noexcept
Indicates if value fits into the specified Dst type.
Definition: is_within_limits.hpp:122