From b7127eb5e5e4ec4cf90f5a291354dc0850ae9474 Mon Sep 17 00:00:00 2001 From: Jakub Pawlewicz Date: Tue, 10 May 2022 23:50:40 +0200 Subject: [PATCH] Added variadic args for BiArray::Create{Head,Tail} --- uppsrc/Core/BiCont.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/uppsrc/Core/BiCont.h b/uppsrc/Core/BiCont.h index 4e85a1bb0..67f31fa4d 100644 --- a/uppsrc/Core/BiCont.h +++ b/uppsrc/Core/BiCont.h @@ -108,8 +108,10 @@ public: void AddTail(const T& x) { bv.AddTail(new T(x)); } T& AddHead(T *newt) { bv.AddHead(newt); return *newt; } T& AddTail(T *newt) { bv.AddTail(newt); return *newt; } - template TT& CreateHead() { TT *q = new TT; bv.AddHead(q); return *q; } - template TT& CreateTail() { TT *q = new TT; bv.AddTail(q); return *q; } + template + TT& CreateHead(Args&&... args) { TT *q = new TT(std::forward(args)...); bv.AddHead(q); return *q; } + template + TT& CreateTail(Args&&... args) { TT *q = new TT(std::forward(args)...); bv.AddTail(q); return *q; } T& AddHead(One&& one) { ASSERT(one); return AddHead(one.Detach()); } T& AddTail(One&& one) { ASSERT(one); return AddTail(one.Detach()); } T& Head() { return *(T *) bv.Head(); } -- 2.25.1