draconisplusplus/include/util/macros.h
2024-06-15 16:38:37 -04:00

14 lines
549 B
C

#pragma once
#define fn auto
#define DEFINE_GETTER(class_name, type, name) \
fn class_name::get##name() const -> type { return m_##name; }
#define DEF_IMPL(struct_name, lower_name, ...) \
struct struct_name##Impl { \
__VA_ARGS__; \
static fn from_class(const struct_name& lower_name) -> struct_name##Impl; \
[[nodiscard]] fn to_class() const -> struct_name; \
};