diff options
author | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-03-25 23:28:26 +0100 |
---|---|---|
committer | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2024-03-25 23:28:26 +0100 |
commit | e1229e05aba7554363b2aa9874bd383b5923ee8b (patch) | |
tree | adc8a8bc65942cc0c8e2cc69faa60fee29dbea8a /deimos/core/base.h | |
parent | e3675d4d75c708f35f8041f493fde2fbfbea55b2 (diff) |
Basic console API & API registry implementation
Diffstat (limited to 'deimos/core/base.h')
-rw-r--r-- | deimos/core/base.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/deimos/core/base.h b/deimos/core/base.h index ea14610..0669f07 100644 --- a/deimos/core/base.h +++ b/deimos/core/base.h @@ -46,6 +46,8 @@ struct uint128 {
uint64 high;
uint64 low;
+
+ constexpr bool operator==(const uint128& other) const = default;
};
struct SourceLocation
@@ -96,5 +98,13 @@ constexpr T&& forward(deimos::RemoveReference<T>&& t) noexcept // NOLINT return static_cast<T&&>(t);
}
+template<typename T, typename U = T>
+constexpr T exchange(T& obj, U&& new_value)
+{
+ T old_value = std::move(obj);
+ obj = std::forward<U>(new_value);
+ return old_value;
+}
+
} // namespace std
|