Go to the source code of this file.
◆ ACCESS
| #define ACCESS |
( |
|
OBJECT, |
|
|
|
MEMBER |
|
) |
| |
Value: (OBJECT).* \
Access( \
(Only_##MEMBER<std::remove_reference_t<decltype(OBJECT)>>*)nullptr)
Definition at line 21 of file Sins.h.
◆ ALLOW_ACCESS
| #define ALLOW_ACCESS |
( |
|
CLASS, |
|
|
|
MEMBER, |
|
|
|
... |
|
) |
| |
Value: template <typename Only, __VA_ARGS__ CLASS::*Member> \
struct CONCATE(MEMBER, __LINE__) { \
friend __VA_ARGS__ CLASS::*Access(Only*) { return Member; } \
}; \
template <typename> struct Only_##MEMBER; \
template <> struct Only_##MEMBER<CLASS> { \
friend __VA_ARGS__ CLASS::*Access(Only_##MEMBER<CLASS>*); \
}; \
__LINE__)<Only_##MEMBER<CLASS>, &CLASS::MEMBER>
Definition at line 9 of file Sins.h.
◆ CONCATE
Definition at line 8 of file Sins.h.
◆ CONCATE_
| #define CONCATE_ |
( |
|
X, |
|
|
|
Y |
|
) |
| X##Y |
Standard-protected facility allowing access into private members in C++.
Use with caution!
Definition at line 7 of file Sins.h.