#include <cassert>
Go to the source code of this file.
◆ CPP_BOX_BUILTIN_TYPES
| #define CPP_BOX_BUILTIN_TYPES |
Value:
X(char, Char_S) \
X(signed char, SChar) \
X(unsigned char, UChar) \
X(short, Short) \
X(unsigned short, UShort) \
X(int, Int) \
X(unsigned int, UInt) \
X(long, Long) \
X(unsigned long, ULong) \
X(long long, LongLong) \
X(unsigned long long, ULongLong) \
X(float, Float) \
X(double, Double) \
X(long double, LongDouble)
Definition at line 79 of file Box.h.
◆ CPPINTEROP_ALWAYS_INLINE
| #define CPPINTEROP_ALWAYS_INLINE inline |
Definition at line 55 of file Box.h.
◆ CPPINTEROP_UNREACHABLE
| #define CPPINTEROP_UNREACHABLE |
( |
| ) |
((void)0) |
Definition at line 66 of file Box.h.
◆ X [1/4]
| #define X |
( |
|
type, |
|
|
|
name |
|
) |
| K_##name, |
◆ X [2/4]
| #define X |
( |
|
type, |
|
|
|
name |
|
) |
| type m_##name; |
◆ X [3/4]
Value: case K_##name: \
return vis(unbox<type>());
Definition at line 100 of file Box.h.
◆ X [4/4]
Value: template <> constexpr Box::Kind Box::KindOf<type>() noexcept { \
return K_##name; \
} \
template <> inline type& Box::slot<type>(Storage & s) noexcept { \
return s.m_##name; \
} \
template <> inline const type& Box::slot<type>(const Storage& s) noexcept { \
return s.m_##name; \
}
Definition at line 100 of file Box.h.