diff options
author | Benoit Germain <benoit.germain@ubisoft.com> | 2024-04-10 16:21:57 +0200 |
---|---|---|
committer | Benoit Germain <benoit.germain@ubisoft.com> | 2024-04-10 16:21:57 +0200 |
commit | 21e881fd6c085e615c438ceb6eb438712f5c5075 (patch) | |
tree | ca86d5360965f7dd2e81a978d3d8b821905b6710 /src/macros_and_utils.h | |
parent | 408f8a5bf7934e7a5aa113fd3a55899db70dd73a (diff) | |
download | lanes-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.h | 10 |
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 = []{}> | |||
182 | struct Unique | 182 | struct 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 | |||
190 | using Source = Unique<lua_State*>; | 192 | using Source = Unique<lua_State*>; |
191 | using Dest = Unique<lua_State*>; | 193 | using Dest = Unique<lua_State*>; \ No newline at end of file |