BAN: Add requires clauses for Container::emplace{,_back} functions

This allows syntax highlighters to report errors!
This commit is contained in:
2024-10-10 21:51:44 +03:00
parent 166550fbba
commit a68f411024
9 changed files with 22 additions and 20 deletions

View File

@@ -33,8 +33,9 @@ namespace BAN
return uniq;
}
// NOTE: don't use is_constructible_v<T, Args...> as UniqPtr<T> is allowed with friends
template<typename... Args>
static BAN::ErrorOr<UniqPtr> create(Args&&... args)
static BAN::ErrorOr<UniqPtr> create(Args&&... args) requires requires(Args&&... args) { T(forward<Args>(args)...); }
{
UniqPtr uniq;
uniq.m_pointer = new T(BAN::forward<Args>(args)...);