Nui
Loading...
Searching...
No Matches
nui
src
nui
backend
mac_helpers
helpers.hpp
Go to the documentation of this file.
1
#pragma once
2
3
#include "
mac_includes.hpp
"
4
5
namespace
Nui::MacOs
6
{
7
template
<
typename
Result,
typename
Callable,
typename
... Args>
8
Result
invoke
(Callable callable, Args... args)
noexcept
9
{
10
return
reinterpret_cast<
Result (*)(Args...)
>
(callable)(args...);
11
}
12
13
// Calls objc_msgSend.
14
template
<
typename
Result,
typename
... Args>
15
Result
msg_send
(Args... args)
noexcept
16
{
17
return
invoke<Result>(objc_msgSend, args...);
18
}
19
20
inline
id
operator
""
_cls(
const
char
* s, std::size_t)
21
{
22
return
reinterpret_cast<
id
>
(objc_getClass(s));
23
}
24
inline
SEL
operator
""
_sel(
const
char
* s, std::size_t)
25
{
26
return
sel_registerName(s);
27
}
28
inline
id
operator
""
_str(
const
char
* s, std::size_t)
29
{
30
return
msg_send<id>(
"NSString"
_cls,
"stringWithUTF8String:"
_sel, s);
31
}
32
}
mac_includes.hpp
Nui::MacOs
Definition
class.hpp:7
Nui::MacOs::msg_send
Result msg_send(Args... args) noexcept
Definition
helpers.hpp:15
Nui::MacOs::invoke
Result invoke(Callable callable, Args... args) noexcept
Definition
helpers.hpp:8
Generated by
1.9.8