aboutsummaryrefslogtreecommitdiff
path: root/src/macros_and_utils.h
diff options
context:
space:
mode:
authorBenoit Germain <benoit.germain@ubisoft.com>2024-04-10 16:21:57 +0200
committerBenoit Germain <benoit.germain@ubisoft.com>2024-04-10 16:21:57 +0200
commit21e881fd6c085e615c438ceb6eb438712f5c5075 (patch)
treeca86d5360965f7dd2e81a978d3d8b821905b6710 /src/macros_and_utils.h
parent408f8a5bf7934e7a5aa113fd3a55899db70dd73a (diff)
downloadlanes-21e881fd6c085e615c438ceb6eb438712f5c5075.tar.gz
lanes-21e881fd6c085e615c438ceb6eb438712f5c5075.tar.bz2
lanes-21e881fd6c085e615c438ceb6eb438712f5c5075.zip
C++ migration: wrap lua type values in an enum class for type safety and debugging purposes
Diffstat (limited to 'src/macros_and_utils.h')
-rw-r--r--src/macros_and_utils.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/macros_and_utils.h b/src/macros_and_utils.h
index 99e49f9..e8d5ab5 100644
--- a/src/macros_and_utils.h
+++ b/src/macros_and_utils.h
@@ -182,10 +182,12 @@ template <typename T, auto = []{}>
182struct Unique 182struct Unique
183{ 183{
184 T m_val; 184 T m_val;
185 Unique() = default; 185 constexpr Unique() = default;
186 operator T() const { return m_val; } 186 constexpr operator T() const { return m_val; }
187 explicit Unique(T b_) : m_val{ b_ } {} 187 constexpr explicit Unique(T b_) : m_val{ b_ } {}
188}; 188};
189 189
190// #################################################################################################
191
190using Source = Unique<lua_State*>; 192using Source = Unique<lua_State*>;
191using Dest = Unique<lua_State*>; 193using Dest = Unique<lua_State*>; \ No newline at end of file