constant: Allow more constexpr constants.
This commit is contained in:
@@ -47,18 +47,18 @@ struct StyleAlignFlags {
|
||||
static const StyleAlignFlags MIXED_SELF;
|
||||
};
|
||||
/// 'auto'
|
||||
inline const StyleAlignFlags StyleAlignFlags::AUTO = StyleAlignFlags{ /* .bits = */ (uint8_t)0 };
|
||||
constexpr inline const StyleAlignFlags StyleAlignFlags::AUTO = StyleAlignFlags{ /* .bits = */ (uint8_t)0 };
|
||||
/// 'normal'
|
||||
inline const StyleAlignFlags StyleAlignFlags::NORMAL = StyleAlignFlags{ /* .bits = */ (uint8_t)1 };
|
||||
constexpr inline const StyleAlignFlags StyleAlignFlags::NORMAL = StyleAlignFlags{ /* .bits = */ (uint8_t)1 };
|
||||
/// 'start'
|
||||
inline const StyleAlignFlags StyleAlignFlags::START = StyleAlignFlags{ /* .bits = */ (uint8_t)(1 << 1) };
|
||||
constexpr inline const StyleAlignFlags StyleAlignFlags::START = StyleAlignFlags{ /* .bits = */ (uint8_t)(1 << 1) };
|
||||
/// 'end'
|
||||
inline const StyleAlignFlags StyleAlignFlags::END = StyleAlignFlags{ /* .bits = */ (uint8_t)(1 << 2) };
|
||||
inline const StyleAlignFlags StyleAlignFlags::ALIAS = StyleAlignFlags{ /* .bits = */ (uint8_t)(StyleAlignFlags::END).bits };
|
||||
constexpr inline const StyleAlignFlags StyleAlignFlags::END = StyleAlignFlags{ /* .bits = */ (uint8_t)(1 << 2) };
|
||||
constexpr inline const StyleAlignFlags StyleAlignFlags::ALIAS = StyleAlignFlags{ /* .bits = */ (uint8_t)(StyleAlignFlags::END).bits };
|
||||
/// 'flex-start'
|
||||
inline const StyleAlignFlags StyleAlignFlags::FLEX_START = StyleAlignFlags{ /* .bits = */ (uint8_t)(1 << 3) };
|
||||
inline const StyleAlignFlags StyleAlignFlags::MIXED = StyleAlignFlags{ /* .bits = */ (uint8_t)(((1 << 4) | (StyleAlignFlags::FLEX_START).bits) | (StyleAlignFlags::END).bits) };
|
||||
inline const StyleAlignFlags StyleAlignFlags::MIXED_SELF = StyleAlignFlags{ /* .bits = */ (uint8_t)(((1 << 5) | (StyleAlignFlags::FLEX_START).bits) | (StyleAlignFlags::END).bits) };
|
||||
constexpr inline const StyleAlignFlags StyleAlignFlags::FLEX_START = StyleAlignFlags{ /* .bits = */ (uint8_t)(1 << 3) };
|
||||
constexpr inline const StyleAlignFlags StyleAlignFlags::MIXED = StyleAlignFlags{ /* .bits = */ (uint8_t)(((1 << 4) | (StyleAlignFlags::FLEX_START).bits) | (StyleAlignFlags::END).bits) };
|
||||
constexpr inline const StyleAlignFlags StyleAlignFlags::MIXED_SELF = StyleAlignFlags{ /* .bits = */ (uint8_t)(((1 << 5) | (StyleAlignFlags::FLEX_START).bits) | (StyleAlignFlags::END).bits) };
|
||||
|
||||
/// An arbitrary identifier for a native (OS compositor) surface
|
||||
struct StyleNativeSurfaceId {
|
||||
@@ -66,7 +66,7 @@ struct StyleNativeSurfaceId {
|
||||
static const StyleNativeSurfaceId DEBUG_OVERLAY;
|
||||
};
|
||||
/// A special id for the native surface that is used for debug / profiler overlays.
|
||||
inline const StyleNativeSurfaceId StyleNativeSurfaceId::DEBUG_OVERLAY = StyleNativeSurfaceId{ /* ._0 = */ UINT64_MAX };
|
||||
constexpr inline const StyleNativeSurfaceId StyleNativeSurfaceId::DEBUG_OVERLAY = StyleNativeSurfaceId{ /* ._0 = */ UINT64_MAX };
|
||||
|
||||
struct StyleNativeTileId {
|
||||
StyleNativeSurfaceId surface_id;
|
||||
@@ -75,7 +75,7 @@ struct StyleNativeTileId {
|
||||
static const StyleNativeTileId DEBUG_OVERLAY;
|
||||
};
|
||||
/// A special id for the native surface that is used for debug / profiler overlays.
|
||||
inline const StyleNativeTileId StyleNativeTileId::DEBUG_OVERLAY = StyleNativeTileId{ /* .surface_id = */ StyleNativeSurfaceId::DEBUG_OVERLAY, /* .x = */ 0, /* .y = */ 0 };
|
||||
constexpr inline const StyleNativeTileId StyleNativeTileId::DEBUG_OVERLAY = StyleNativeTileId{ /* .surface_id = */ StyleNativeSurfaceId::DEBUG_OVERLAY, /* .x = */ 0, /* .y = */ 0 };
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
||||
@@ -39,18 +39,18 @@ struct AlignFlags {
|
||||
}
|
||||
};
|
||||
/// 'auto'
|
||||
static const AlignFlags AlignFlags_AUTO = AlignFlags{ /* .bits = */ (uint8_t)0 };
|
||||
constexpr static const AlignFlags AlignFlags_AUTO = AlignFlags{ /* .bits = */ (uint8_t)0 };
|
||||
/// 'normal'
|
||||
static const AlignFlags AlignFlags_NORMAL = AlignFlags{ /* .bits = */ (uint8_t)1 };
|
||||
constexpr static const AlignFlags AlignFlags_NORMAL = AlignFlags{ /* .bits = */ (uint8_t)1 };
|
||||
/// 'start'
|
||||
static const AlignFlags AlignFlags_START = AlignFlags{ /* .bits = */ (uint8_t)(1 << 1) };
|
||||
constexpr static const AlignFlags AlignFlags_START = AlignFlags{ /* .bits = */ (uint8_t)(1 << 1) };
|
||||
/// 'end'
|
||||
static const AlignFlags AlignFlags_END = AlignFlags{ /* .bits = */ (uint8_t)(1 << 2) };
|
||||
static const AlignFlags AlignFlags_ALIAS = AlignFlags{ /* .bits = */ (uint8_t)(AlignFlags_END).bits };
|
||||
constexpr static const AlignFlags AlignFlags_END = AlignFlags{ /* .bits = */ (uint8_t)(1 << 2) };
|
||||
constexpr static const AlignFlags AlignFlags_ALIAS = AlignFlags{ /* .bits = */ (uint8_t)(AlignFlags_END).bits };
|
||||
/// 'flex-start'
|
||||
static const AlignFlags AlignFlags_FLEX_START = AlignFlags{ /* .bits = */ (uint8_t)(1 << 3) };
|
||||
static const AlignFlags AlignFlags_MIXED = AlignFlags{ /* .bits = */ (uint8_t)(((1 << 4) | (AlignFlags_FLEX_START).bits) | (AlignFlags_END).bits) };
|
||||
static const AlignFlags AlignFlags_MIXED_SELF = AlignFlags{ /* .bits = */ (uint8_t)(((1 << 5) | (AlignFlags_FLEX_START).bits) | (AlignFlags_END).bits) };
|
||||
constexpr static const AlignFlags AlignFlags_FLEX_START = AlignFlags{ /* .bits = */ (uint8_t)(1 << 3) };
|
||||
constexpr static const AlignFlags AlignFlags_MIXED = AlignFlags{ /* .bits = */ (uint8_t)(((1 << 4) | (AlignFlags_FLEX_START).bits) | (AlignFlags_END).bits) };
|
||||
constexpr static const AlignFlags AlignFlags_MIXED_SELF = AlignFlags{ /* .bits = */ (uint8_t)(((1 << 5) | (AlignFlags_FLEX_START).bits) | (AlignFlags_END).bits) };
|
||||
|
||||
struct DebugFlags {
|
||||
uint32_t bits;
|
||||
@@ -84,7 +84,7 @@ struct DebugFlags {
|
||||
}
|
||||
};
|
||||
/// Flag with the topmost bit set of the u32
|
||||
static const DebugFlags DebugFlags_BIGGEST_ALLOWED = DebugFlags{ /* .bits = */ (uint32_t)(1 << 31) };
|
||||
constexpr static const DebugFlags DebugFlags_BIGGEST_ALLOWED = DebugFlags{ /* .bits = */ (uint32_t)(1 << 31) };
|
||||
|
||||
extern "C" {
|
||||
|
||||
|
||||
@@ -18,4 +18,4 @@ struct Foo {
|
||||
};
|
||||
constexpr inline const int64_t Foo::CONSTANT_I64_BODY = 216;
|
||||
|
||||
static const Foo SomeFoo = Foo{ /* .x = */ 99 };
|
||||
constexpr static const Foo SomeFoo = Foo{ /* .x = */ 99 };
|
||||
|
||||
@@ -6,3 +6,6 @@ bitflags = true
|
||||
|
||||
[export]
|
||||
prefix = "Style" # Just ensuring they play well together :)
|
||||
|
||||
[const]
|
||||
allow_constexpr = true
|
||||
|
||||
@@ -1,2 +1,5 @@
|
||||
[macro_expansion]
|
||||
bitflags = true
|
||||
|
||||
[const]
|
||||
allow_constexpr = true
|
||||
|
||||
Reference in New Issue
Block a user