Start using deducing this, needs more utilities work

This commit is contained in:
2025-02-25 00:08:02 +01:00
parent aa73023bee
commit a808626873
4 changed files with 12 additions and 23 deletions

View File

@ -9,8 +9,8 @@ build:windows --extra_toolchains=@@rules_cc++cc_configure_extension+local_confi
build:linux --repo_env=CC=clang build:linux --repo_env=CC=clang
build:windows --cxxopt=-Xclang=-std=c++20 build:windows --cxxopt=-Xclang=-std=c++23
build:linux --cxxopt=-std=c++20 build:linux --cxxopt=-std=c++23
build --cxxopt=-Wall build --cxxopt=-Wall
build --cxxopt=-Wno-c++98-compat build --cxxopt=-Wno-c++98-compat

View File

@ -365,23 +365,11 @@ public:
} }
} }
// @Todo(C++23) Deducing this template<typename Self>
constexpr T&& value() && constexpr auto&& value(this Self&& self)
{ {
ASL_ASSERT_RELEASE(has_value()); ASL_ASSERT_RELEASE(self.has_value());
return ASL_MOVE(m_payload).as_init_unsafe(); return ASL_FWD(self).m_payload.as_init_unsafe();
}
constexpr T& value() &
{
ASL_ASSERT_RELEASE(has_value());
return m_payload.as_init_unsafe();
}
constexpr const T& value() const&
{
ASL_ASSERT_RELEASE(has_value());
return m_payload.as_init_unsafe();
} }
template<typename U> template<typename U>

View File

@ -1 +1,2 @@
warning compare with 0 in format_float.cpp warning compare with 0 in format_float.cpp
add copy_cvref_t