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

@@ -76,8 +76,9 @@ namespace BAN
return ptr;
}
// NOTE: don't use is_constructible_v<T, Args...> as RefPtr<T> is allowed with friends
template<typename... Args>
static ErrorOr<RefPtr> create(Args&&... args)
static ErrorOr<RefPtr> create(Args&&... args) requires requires(Args&&... args) { T(forward<Args>(args)...); }
{
T* pointer = new T(forward<Args>(args)...);
if (pointer == nullptr)